RFC: Refactor CGOpenMPRuntimeNVPTX into a base class

Specifically, into CGOpenMPRuntimeGPU with an implementation for nvptx which behaves identically to today, and an implementation for amdgcn.

The out of tree amdgcn/openmp repo uses branches within nvptx to target amdgcn. That works but it’s not pretty. The base + two implementations would give us a working openmp front end for amdgcn fairly quickly, as a stop gap until target regions is ready.

It may also be useful to have tregions and the old codegen simultaneously available for testing.

This RFC is mostly searching for someone to review a slightly dull NFC to nvptx which opens the door for a second GPU target. Anyone broadly willing?