Cleaning up transfer function widgets.

Cleaning up issues with the context-items related to tranfer function editor.

+ Added support for log-mapped color-transfer function. We ensure that when
  using log-scale, the color transfer function widget also enter log-space.

+ vtkPiecewiseControlPointsItem had a bug resulting it deleting of end points
  even when told otherwise. Fixed that.

+ Added new event vtkControlPointsItem::PointsModifiedEvent which if fired when
  control points are changed making it easier for application to do something
  when the points are changed.

+ Improved the usability by adding ability to label control points.

Change-Id: If02bc1139f6ccb3d7c2198b07d10491f902bafda
Release graphics resources properly.

vtkScalarBarActor wasn't releasing graphics resources for internal texture. This
fixes the problem.

Change-Id: I5f01c7d8ad0f78c25b4ab8f21bc8b4e66ae91c5f
Cleanup logic for indexed colors.

vtkDiscretizableColorTransferFunction used control points to map indexed colors.
To make applications simpler, added a new API to add indexed colors which are
used when present when in IndexedLookup mode. If no IndexedColors are specified,
the vtkDiscretizableColorTransferFunction reverts to the previous behaviour for
backwards compatibility.

Change-Id: If5b6791baccf2ee0022fd1b1098093d226ef64c3
Change `vtkScalarsToColors::SetAnnotations` behavior.

Now SetAnnotations performs a deep copy of annotations
rather than referencing the provided array pointers.
This addresses ParaView bug 14189, where changes to the
array after SetAnnotations were not being reflected in
the map.

Change-Id: I8e78b30a5757eb9429dd5e02c9126cb5c01892c5
Merge topic '13082_fix_log_lut' into master

16543376 Cleanup logic for indexed colors.
37a10c60 Release graphics resources properly.
1509669d Cleaning up transfer function widgets.
Merge topic '14189_set_annotations_deep_copy' into master

06ef3b9e Change `vtkScalarsToColors::SetAnnotations` behavior.