invertedAppearance and invertedControls properties for ctkDoubleSlider, ctkDoubleSpinBox and ctkSliderWidget
Fix CMake unused variable warnings

Introduced by commit 8c9868f5, the variables "ExternalProjectsContrib_DIR"
and "PluginsContrib_DIR" where unconditionally passed down when
configuring CTK inner project.

This commit avoid the "unused variable" warnings by checking the value
of "CTK_USE_CONTRIBUTED_PLUGINS" variable before passing the variables.
Merge pull request #345 from jcfr/fix-unused-variable-warnings

Fix CMake unused variable warnings
Rename ctkSpinBox to ctkDoubleSpinBox
Merge branch 'rename-ctkspinbox-into-ctkdoublespinbox'

* rename-ctkspinbox-into-ctkdoublespinbox:
  Rename ctkSpinBox to ctkDoubleSpinBox
Merge branch 'slider-inverted-properties'

* slider-inverted-properties:
  invertedAppearance and invertedControls properties for ctkDoubleSlider, ctkDoubleSpinBox and ctkSliderWidget

Conflicts:
  ctkDoubleSpinBox.h
  ctkDoubleSpinBox.cpp
Fix timeout in ctkPathListWidgetWithButtonsTest with Qt 4.6.3

The thread was deleted and the singleshot was not executed before the
dialog was closed.
Closes #340
Merge branch '340-ctkpathlistwidgetwithbuttonstester-timeout'

* 340-ctkpathlistwidgetwithbuttonstester-timeout:
  Fix timeout in ctkPathListWidgetWithButtonsTest with Qt 4.6.3
Add ctkComboBox::ScrollEffect
Merge branch 'ctkcombobox-no-scroll'

* ctkcombobox-no-scroll:
  Add ctkComboBox::ScrollEffect
Extend ctkComboBox::ScrollWithNoVScrollBar to QAbstractScrollArea

It would then cover item views such a QTableWidgets.
Merge branch 'ctkcombobox-no-scroll'

* ctkcombobox-no-scroll:
  Extend ctkComboBox::ScrollWithNoVScrollBar to QAbstractScrollArea
Merge branch 'slider-inverted-properties'

* slider-inverted-properties:
  invertedAppearance and invertedControls properties for ctkDoubleSlider, ctkDoubleSpinBox and ctkSliderWidget
Add ctkDoubleSpinBox::DecimalsByKey, DecimalsByValue and ReplaceDecimals
Expose ctkDoubleSpinBox::DecimalsOption to other widgets
Fix ctkSliderWidget assert when changing decimals with DecimalsByValue

By blocking signals in ctkSliderWidget::changeValue, the change of decimals
(because of ctkDoubleSpinBox::DecimalsByValue) is not catched by
ctkSliderWidget and not propagated to the slider which causes a discrepancy
with the minimum/maximum values between the spinbox and the slider.
The test values come from a real case that was asserting in
ctkSliderWidget.
Fix ctkSliderWidget assert when changing decimals with Ctrl+'+'

For the test to work, ctkDoubleSpinBox::keyPressEvent had to be written.
The test values come from a real case where ctkSliderWidget asserted.
Other values were not triggering asserts.
Expose publicly ctkRangeWidget slider, min and max spinbox

It can be handy to tweak sliders and spinboxes.
Merge branch 'ctkdoublespinbox-decimalsbykey'

* ctkdoublespinbox-decimalsbykey:
  Expose publicly ctkRangeWidget slider, min and max spinbox
  Fix ctkSliderWidget assert when changing decimals with Ctrl+'+'
  Fix ctkSliderWidget assert when changing decimals with DecimalsByValue
  Expose ctkDoubleSpinBox::DecimalsOption to other widgets
  Add ctkDoubleSpinBox::DecimalsByKey, DecimalsByValue and ReplaceDecimals
Control the number of decimals in the ctkMatrixWidget display

Display the matrix values with the same number of decimals used to edit the
items.