Make header testing even smarter about when to enable thrust tests.

Previously we always presumed the OMP system to be around, now we
are smarter and look at thrust version to. If we are above 1.6 we
can use the cpp system.
Allow other classes to convert portals to general thrust iterators.

Previously only the device adapter was able convert dax portals
to thrust iterators. Now the code is exposed in a helper header
so that we can provide that ability to other classes.
Add support for OpenGL interop to Dax.

We are adding a new opengl namespace with functions that will
take an array handle and transfer its contents to a given opengl
buffer.
Add testing infrastructure to verify opengl interop works.

We need to really test the interop code with all device adapters
to verify that it works under all uses cases. To do that I am
adding infrastructure that makes it easy to test the interop
Add in benchmark that tests the openGL interop performance.

The test verifies that the interop can handle being push a couple
million triangles and still get a good fps.
Correct compilation errors in Thrust Iterator with openmp