ENH: New RenderingExternal module

This module enables sharing an external OpenGL context with VTK to
draw VTK objects and provide custom VTK interactions in an
external window.

Change-Id: I153c88f4c2429a5ae5b02ab665345346040076b9
ENH: Added custom renderer and camera classes for external support

vtkExternalOpenGLRenderer extends vtkOpenGLRenderer and prevents it
from clearing the buffer based on a user-specified flag.
vtkExternalOpenGLCamera extends vtkOpenGLCamera that supports user
provided projection and model view transform matrices.

Change-Id: I808a8e9e1c3d3aac15c554e045d860ec54b6a0e4
Variable renamed to maintain consistent syntax

Change-Id: I061099f94e82ede2f2955e22265d16b3be8f441e
ENH: Cleaned up the ExternalRenderWindow

Stripped off unnecessary code and all that the class implements is the virtual
Start method from the vtkXOpenGLRenderWindow that either creates a new window or
uses existing OpenGL context.

Change-Id: I7e949bf13752bf05ce1d7344a4dae69979aac045
Set light transform matrix irrespective of light type

WIP: Update light geometry based on camera

Change-Id: I689a9709e4d7618c3a72fb6ff1f6cb7385c04540
ENH: Added test for vtkRenderingExternal

TestGLUTRenderWindow demonstrates the use of the
vtkRenderingExternal module by rendering VTK objects in a GLUT
window.

Change-Id: I8bbbdc4a05b335b105da971217d0f5a31891b5a9
Replace baseline with MD5 sum

Change-Id: Idc0a3e50476cd1561e16bd782ba8f712f01c2769
Fix lighting for the external rendering module

Change-Id: Ibf7eb3aacc30a06b5e86e0dfd6cc8968e51f9556
ENH: Fetch viewport size for the existing OpenGL context

Change-Id: Iea3c3018085925e656db0199b4009bd6feb34e84
Cleaned debugging code

Change-Id: I005ad11461c166fef2747ba80677514ae6d8f334
Updated baseline for TestGLUTRenderWindow

Change-Id: I4a8dc633db6a4b170957deda1dfbed4a1de73081
FIX: vtkRenderingExternal module is OFF by default

Change-Id: I2cec13305e521d958362d15eaae75e0f8e73bbee
ENH: Synchronize camera focalpoint

Change-Id: Ic77dd7ee42be64fd11d57ff4b6590c7d1b717f05
ENH: External renderer preserves buffers by default

Change-Id: I7fbf21984599d74d6677004ce70b0093e2b9df43
Fixed headlight not working right when using the ext renderer

Change-Id: I4b986e2a9b065134eb098ded03a0095845bbe435
Fixed missing display, window, and context id not being set

Change-Id: Ieeef5449b801b56deff30dc23827a88177e0aac4
Using the external renderwindow always uses current context

Remove the DrawWindow flag. This makes the external render window
to use the current OpenGL context only. It never tries to draw
its own window.

Change-Id: I14d048ebcbfe345b2e7002c84c9934127298754d
ENH: Add ExternalVTKWidget

This widget makes it easy to use the VTK rendering framework in external
window managers and/or external applications that do not require VTK to draw its
own window. ExternalVTKWidget uses the vtkExternalOpenGLRenderWindow and
vtkExternalOpenGLRenderer classes to use the OpenGL context managed by the
external application.

Change-Id: Ic1fa45daba6a340189961447e0bda961afee7196
STYLE: Fixed indentation as per VTK style guidelines

Change-Id: I41f6efa27d51aeb6309486058ce3d2fc3984f90c
Fixed splitviewport stereo rendering