Copy the OpenGL Interop code from DAX and convert it to VTKm.
The TransferToOpenGL function, internally calls CopyFrom() which is templated on the StorageTag and DeviceAdapter. The DAX code used the ArrayHandle.CopyInto() function to safely copy data from the execution environment to an std::vector on the control side. That vector was then passed to OpenGL.
A CopyInto function does not exist for VTKm, so I implemented one in order to make as few modifications to the OpenGL code from DAX.
ArrayHandle (and related classes) have CopyInto function added
CMakeLists were updated to include the ability to enable openGL interop during configuration
OpenGL Interop functionality and tests
Magnitude worklet (Used by interop tests)
ArrayHandle CopyInto() function is in a separate MR(#121)