OpenGL driver version detection and OS Mesa features

Added support to vtkOpenGLExtensionManager for fine grained
OpenGL driver version detection. Added a flag to enable/disable
features with known driver specific bugs for testing new
driver releases. This mostly to test future Mesa releases to
determine if bugs have been fixed. Used the new feature to
see if some long standing Mesa bugs have been fixed in newer
Mesa releases for the OS Mesa renderer.

* NPOT texture support used by vtkOpenGLContextDevice2D and
vtkOpenGL2ContextDevice2D fixed in Mesa >= 8

* reset glReadBuffer to quiet incomplete FBO error report in
vtkOpenGLVolumeGPURayCastMapper

* vtkOpenGLVolumeGPURayCastMapper tests pass in Mesa >= 9
except TestGPURayCastCompositeShadeMask. Explicitly disabled
the test for OS Mesa.

* disable FBO for Mesa < 8 because of TestBlurAndSobelPasses
TestSobelGradientMagnitudePass test failures

* disable vtkOpenGLHAVSVolumeMapper for OS Mesa without
Gallium llvmpipe renderer

* vtkCompositeRGBAPass needs GL_ARB_texture_float. Mesa
may or may not be built with it enabled due to patent
restrictions and a bug in 8-9 releases.

* Disable FBO for Mesa drivers reporting OpenGL version 1.4
because of incomplete/buggy GL_ARB_draw_buffers.

* Although associated ctests run and pass, disable
vtkOpenGLVolumeTextureMapper3D for OS Mesa < 9 because of
false OpenGL invalid enum report.

Change-Id: Ic82aeb4747137aead53251026744baa61ced66d0
Merge topic 'opengl-error-hunt' into master

4d5cbfb6 OpenGL driver version detection and OS Mesa features