ENH: Initial take at SmartVolumeMapper support

Copied the vtkSmartVolumeMapper from Rendering/Volume to
Rendering/VolumeOpenGL and Rendering/VolumeOpenGL2 to
provide two different classes for each rendering backend.

Change-Id: Iee1a6d626c7e1f32064d0ee35e34c5ca51ed0bbe
Fix up compiler warning of shadowed variables

Change-Id: I03a73612d7e27f3f0da7331cacd6228e3328f998
Fixing ray cast image display helper

Change-Id: I84cde8bf87870ed29f5fc25f6d771b70766fe044
Updated to use vtkTextureObject

Change-Id: I066cb2f17eba6414f18fbf8c1e6dbfe5ef99843c
Merge topic 'compiler_warning' into master

66f9ae99 Fix up compiler warning of shadowed variables
ENH: Removed all vtkVolumeTextureMapper3D refs from OpenGL2 module

The final SmartVolumeMapper just has 2 options : GPURayCast or
FixedPointRayCast rendering.

Change-Id: I902489b53955f6731e7b03ba81b7afc2ce0f95e3
Use vtkTextureObject if set

And then bypass the pipeline. The use case here is that we just
want to render a data as texture in opengl which is already
fully qualified to do so.

Change-Id: I421168e9d0055ca891edf29da7dc83a9421dbaf1
Updated ray cast image display helper to use GL2

Change-Id: Iac0119b4f6be892e063117c2004bcf79edad891a
Removed unused code

Change-Id: Id229d51a9b5fe83129d223930e43511fc6a88979
Fixed casting to wrong type; copy-paste error

Change-Id: I07af9735186b089877fe925bceafabb7ae6aa92e
Updated headers

Change-Id: I77fec3c7c2b87762a174742feefbb39675367fdc
Fixed test failing by restoring defaults

Change-Id: Idc5610c55f56464d73253c77594d4424b2586c46
Updated logic for testing for translucency

Change-Id: Ia0a342848350fe791c0b95472ac8e29f02d402da
Updated logic to check for external texture object

Since we create the texture object internally as well
the reasonable way to know if the texture object is
set externally is to use an ivar for that purpose which
get set to trun when SetTextureObject is invoked. Checking
via pipeline may result in warnings and that's why its
avoided.
Change-Id: I2908b7e4eebaef66d266affb7e68192c168ad20e
Updated display helper

This is needed as now the data is marked as
translucent because we use 4 component texture

Change-Id: Iff2a8832b7c461c9ec2748ad44c045322b73c659
Improved code by removing redundant code

Also, now making sure that defaults are restored

Change-Id: I0326c256fec747685efbfabb8e71f5012fe9d0fe
Fixed style issues

Change-Id: I80240c359124abc9d34cfa4d4a3e53ea3f7dd876
Added more volume tests that are passing now

Change-Id: Ice4c6187130dbb07ab477b25ea2d2b2444773594
Removed unused header files

Change-Id: Ib6666dc7d360ae23c6444bac82e057f8e1b786e9
Set referencee to render window for external texture object

Change-Id: I6f208407fae3238637979a467e045c698b8cdf3b