Add vertex dragging and tooltip to vtkGraphItem

Updated vtkGraphItem to support vertex dragging, vertex
tooltips, and a cool-down of the incremental layout so
it stops after a while. These improvements required the
following improvements and fixes:

 - The incremental layout now supports a vertex with
   fixed position (the vertex being dragged).

 - Fixed a bug in vtkAbstractContextItem where coordinate
   conversions were not correct if a transform is at the
   root of the scene.

 - Changed the context device to always compute string
   bounds and draw strings 1-1 with screen pixels independent
   of zoom level.

 - Updated the tooltip item to draw at the correct size and
   position independent of scene zoom or translation.

Change-Id: I0eaa2e1060f13c7faed64235d47c622810ab39c8
Fix build issue when VTK_BUILD_ALL_MODULES=ON.

In general when Wrapping/Python/CMakeLists.txt gets processed, VTK_WRAP_PYTHON
is ON and hence vtkPythonWrapping.cmake is automatically included. However, if
the user didn't turn on VTK_WRAP_PYTHON, but enabled VTK_BUILD_ALL_MODULES, then
the vtkWrappingPython would be enabled, but CMake would never have imported the
vtkPythonWrapping.cmake file.

Hence we ended up with undefined
vtk_write_python_modules_header_for_wrapped_modules() macro errors. This commit
fixes that issue.

Change-Id: I10b7a8e99e48a6a57312dd2a71847f0d19f0d48a
COMP: Ambiguity error for fabs in vtkTuple::Compare with ints.

The vtkTuple::Compare() method uses fabs(), which depending on the
compiler, might be the C library fabs(), which always takes double,
or the C++ library std::fabs(), which is overloaded.  The latter
takes float, double, and long double... but any other types give
rise to an ambiguous conversion.  This is fixed by replacing fabs()
with std::abs(), which works for integers and floating-point, as
long as both cstdlib and cmath are included.

This problem became visible because a recent wrapper-enhancement
commit caused vtkTuple::Compare to be wrapped for the first time.
This caused the Compare method to be exercised for integer types.

Change-Id: I4816834ae03dc92ca1354d83daa0b99da9c15501
Fix warnings

Change-Id: Ib86cdf8443e8064acfe8d8a8c4971013429f1bb6
fix for compilation warning without making another

Change-Id: I55a4b70d8262d4356c7397ec1b15f489a079cd6b
fix may be used uninit warning

Change-Id: I22690eccc70926c4ed9a927d80028d03fbdb0ffb
Merge topic 'fix_missing_include' into master

d8e584aa Fix build issue when VTK_BUILD_ALL_MODULES=ON.
Merge topic 'tuple-fabs-ambiguous' into master

b0de557b COMP: Ambiguity error for fabs in vtkTuple::Compare with ints.
silence possibly uninitialized var warnings

Change-Id: Ida7fcce38364930b2ca6991fddae784a0ebe3ff9
silence possibly uninitialized var warnings

Change-Id: I4cab8452b5a7c424d5ac6f3da061d1c82d9491bd
silence possibly uninitialized var warnings

Change-Id: I372f2aa029baa25ff684685ef50241529254b6b1
fix no newline at eof warning

Change-Id: If91c47b575daafc49da24e6c7c35455777edd203
fix -Wnarrowing conversion warning

Change-Id: I249d502f79b1d0a037b862831a8268362af14acf
fix unused variable warning

Change-Id: Ibf6a58a7eab468d1fe651589381402ed22edd432
Fix unused argument warning

Change-Id: Iad1aa1532ce743a437a4b120de09266d936e14e1
Wrap long line and reset bound texture

When working with QVTKGraphicsItem in Qt's QML, the VTK render state
is not guaranteed to have its glBindTexture setting in the default
state. To work around this, I added a call to glBindTexture in
the context device's Begin() method.

Change-Id: I91990373cb38238c9839d30a97e2b35ce9025c9d
Merge topic 'cleanup-compilation-warnings' into master

a620b046 Fix unused argument warning
afb58fb4 fix unused variable warning
63b3c2a9 fix -Wnarrowing conversion warning
eaa021a2 fix no newline at eof warning
5c21bb71 silence possibly uninitialized var warnings
25ac1140 silence possibly uninitialized var warnings
93f202e8 silence possibly uninitialized var warnings
b87a0e52 fix may be used uninit warning
ab9f9035 fix for compilation warning without making another
Adding install rules for Python modules.

When VTK is told to not use setup.py for installing Python (which is the case
with applications like ParaView), CMake rules were missing to ensure that the
python module libraries are installed. This patch adds those rules which are
used only when VTK_INSTALL_PYTHON_USING_CMAKE is ON.

Change-Id: I88afaae2a08915e02476ac1c1027fba4fc4fe3d4
Merge branch 'master' into graphitem-move-vertex

Conflicts:
	Infovis/Layout/vtkIncrementalForceLayout.cxx

Change-Id: I3dc8041d2e6b0cf842ebbdc1db4f53fbdbfdfb2c
Merge topic 'graphitem-move-vertex' into master

7aa9df2d Merge branch 'master' into graphitem-move-vertex
c804c47b Wrap long line and reset bound texture
0797455b Fix warnings
f6269ced Add vertex dragging and tooltip to vtkGraphItem