python: split wrapping functions

There are now two functions, one which wraps the code and another which
builds the wrapped code.

Change-Id: Ia0bd1ece0d675a5508238d011b2f9624d6a37f19
python: Add wrapping of kits if VTK_ENABLE_KITS is ON

If VTK_ENABLE_KITS is enabled, vtk kits and module that are not
associated with any kit will be wrapped.

The wrapped kit will have the suffix "Kit" to avoid conflict with
existing library like "vtkFilterPython".

Change-Id: I5a9c6de9558e3f7e072a2d31e2fa8ae85814f687
modules: Re-order RenderingOpenGL libraries to fix VTK_ENABLE_KIT link error

This commit fixes the the order of libraries associated with
the vtkRenderingOpenGL module to ensure the associated kit (introduced
by 094a09a) can be linked successfully on Linux.

More specifically, in case the NVCtrl static library is found, it is
important to make sure it is added first in the list. That way, when
the kits are linked to their associated public and private libraries (see
target_link_libraries in vtkModuleTop.cmake), the eventual duplicate
libraries removed from the list of public or private libraries are always
listed after the static library and we are sure no symbol will be skipped.

The link error fixed by this commit is the following:

//-------------
Linking CXX shared library lib/libvtkOpenGL-6.2.so
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libXNVCtrl.a(NVCtrl.o): In function `close_display':
(.text+0x22): undefined reference to `XextRemoveDisplay'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libXNVCtrl.a(NVCtrl.o): In function `find_display':
(.text+0x41): undefined reference to `XextCreateExtension'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libXNVCtrl.a(NVCtrl.o): In function `find_display':
(.text+0x71): undefined reference to `XextFindDisplay'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libXNVCtrl.a(NVCtrl.o): In function `find_display':
(.text+0xaa): undefined reference to `XextAddDisplay'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libXNVCtrl.a(NVCtrl.o): In function `XNVCTRLQueryVersion':
(.text+0x2a9): undefined reference to `XMissingExtension'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libXNVCtrl.a(NVCtrl.o): In function `XNVCTRLIsNvScreen':
(.text+0x462): undefined reference to `XMissingExtension'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libXNVCtrl.a(NVCtrl.o): In function `XNVCTRLQueryTargetCount':
(.text+0x605): undefined reference to `XMissingExtension'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libXNVCtrl.a(NVCtrl.o): In function `XNVCTRLSetTargetAttribute':
(.text+0x7a2): undefined reference to `XMissingExtension'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libXNVCtrl.a(NVCtrl.o): In function `XNVCTRLSetTargetAttributeAndGetStatus':
(.text+0x99d): undefined reference to `XMissingExtension'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libXNVCtrl.a(NVCtrl.o):(.text+0xbb6): more undefined references to `XMissingExtension' follow
collect2: error: ld returned 1 exit status
make[3]: *** [lib/libvtkOpenGL-6.2.so.1] Error 1
make[2]: *** [CMakeFiles/vtkOpenGL.dir/all] Error 2
make[1]: *** [CMakeFiles/vtkOpenGL.dir/rule] Error 2
make: *** [vtkOpenGL] Error 2
//-------------

Change-Id: I0288c598f183a9537d0dded97af9323754fdea2a
python: Update python module dependency to account for VTK_ENABLE_KITS

This commit ensure the variable <module>_DEPENDS is updated
to include the list of wrapped kit before calling the
vtk_add_python_wrapping_library.

Change-Id: I03a913cb911534f7e70eeba13da1481c5de9a640
python: Configure PythonInit file for kit when VTK_ENABLE_KITS is ON

This commit introduces the file "vtkPythonKitInit.cxx.in" that
is configured to call the initialization of all module associated
with a given kit.

To verify that all kits were properly wrapped, the content
of the vtk module has been dumped to file and compared. Beside of
the name of the imported modules all object were identical.

In both case, the following has been done:
1) Start bin/vtkpython
2) Execute the following:
case = "vtk_with_kits" # of "vtk_without_kits"
contents = sorted(dir(vtk))
with open("/tmp/%s.txt" % case, 'w') as f:
    f.write("\n".join(contents))

Change-Id: I11000d1d6caf9329b208a4db45b762daeec9b531