Simplified numeric plug bindings.

Rather than duplicate the code for repr(), we can just implement it in the ValuePlug bindings.
Added min/max values to BoxPlug.
Added min/max limits to StandardOptions crop window plug.

This is quite important, because out of range values upset 3delight.
Added handy CompoundDataPlug::MemberPlug child accessors.
Added GafferBindings::NodeClass() overload for suppressing init.

Not all nodes have a constructor taking a name, so we need to be able to optionally define the constructors manually.
Moved shutter() and transform() from RendererAlgo.h to SceneAlgo.h.

This is binary compatible, but source incompatible.
Added camera() methods to SceneAlgo.h.

These return cameras from the scene with all globals such as with all globals settings such as crop, resolution, overscan etc applied. Updated RendererAlgo to use these methods rather than duplicate logic.
Removed GLWidget minimum size.
Fixed bug where ViewportGadget::setCamera() could forget viewport size.
Fixed ViewportGadget::RasterScope to work during selection.
Added ViewportGadget::preRenderSignal().

This will help in implementing custom tools and viewers, many of which will want to lazily update viewport contents just prior to viewport rendering.
Made View::update() non-pure virtual.

We want to phase it out over time, and making it optional for derived classes to implement it is necessary as part of that process.
Added View::contextChangedSignal().
Added some tool icons.
Added Tool base class.

This will be used to help implement interactive tools inside the Viewer.
Added GafferSceneUI::SelectionTool.

This is refactored out of SceneView into the new Tool framework.
Added resolution gate overlay to SceneView.

Fixes #1016.
Added SceneView todo.
Added CropWindowTool.

This allows the crop window to be set interactively within the 3d view when looking through the render camera. The tool operates on the first upstream Options node with an active crop window. If no such node is found, it will activate the crop window on the first upstream Options node with an inactive crop window. If no Options nodes exist, it prompts the user to insert one.
Removed unused member variable from GafferUI::Tool.

Caught by that nice young Mr Clang and his friend Mr Travis.