Fixed error with GAFFERUI_QT_BINDINGS=PyQt4 environment variable.

We weren't correctly applying the fixup for QtCore.Signal in this case - we were only applying it if the environment variable wasn't specified and we decided to use PyQt based on its existence on the filesystem.
Fixed PySide incompatibility in Slider.

PyQt supports the passing of points directly to drawPolygon(), and PySide supports passing them as a list. Neither support the other's syntax. Fortunately they both support the creation of a QPolygonF from a list and then accept that in drawPolygon(). This problem manifested itself when drawing the off-the-end indicator for sliders.
Key modifiers are now correctly updated during drags.

Before this they were stuck with the values they had at the start of the drag.
Constrained slider positions inside range by default.

They can still be dragged outside of the slider range by holding down the Shift key while dragging.

Fixes #99.
Added basic build instructions to README
Merge pull request #687 from johnhaddon/colorSliderRange

Color slider range constraints
Fixed Sampler indentation.
Added missing default value to GafferImage::Sampler python constructor.
Added ImageSampler node to GafferImage.

This takes an input image and pixel position, and outputs the colour at that pixel.
Fixed comment in ImageView.
Fixed colour space used for ImageView colour sampling.

It was sampling colours after gamma, exposure and luts were applied. Now it samples them before while the image is in linear space. This is a first step in refactoring the ImageView so that the image stats and under-the-mouse samples are computed by nodes and displayed by PlugValueWidgets in an overlay - all the computation is in nodes now but the display is still using miscellaneous OpenGL calls.
Merge pull request #691 from johnhaddon/colorSampling

Color sampling