Refactor vtkm::interop usage of DeviceAdapter
Currently vtkm::interop::TransferToOpenGL
needs the caller to explicitly specify what Device Adapter the array handle was last executed on.
This is problematic as we move more code over to vtkm::cont::TryExecute
which at run time decides what Device Adapter it should use.
To resolve this issue we need to update vtkm::interop::TransferToOpenGL
to query the ArrayHandle to learn what device adapter it last used, and from there invoke the correct specialization.