ENH: Add enhanced scalarbar actor class based on VTK6. Fixes #2919

The VTK6 vtkScalarBarActor class allows displaying annotations in
conjunction with labels. However, in Slicer we want to sample the
annotations for display just like color values since some color
tables have more than 10000 values and annotations.

The vtkSlicerScalarBarActor is based on vtkScalarBarActor class and
only overrides its LayoutTicks method to slightly modify the method
to enable sampling the annotations and display it as labels.

Additional remarks:

* Change colors module logic using the new class.

* Keep backward compatibility to VTK5.

* Added a python selftest based on scripted module superclass.

* Added a check box to toggle using the color names as labels, and set
default label formats when it's toggled to support strings or numbers.

* Added simple label format testing to avoid crashes that were seen when
using a string format with a number value.

* Regular expression associated with LabelFormat could be improved. This
is tracked by issue 3802

Co-authored-by: Nicole Aucoin <nicole@bwh.harvard.edu>

From: Kevin Wang <kevin.wang@rmp.uhn.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23566 3bd1e089-480b-0410-8dfb-8563597acbee