Added fallbackPosition argument to GraphLayout::positionNode().

This simplifies the logic a little for people using it, but mostly this is in preparation for modifying it to work for many nodes at once, in which case it would have been very inconvenient for the client code to do the fallback positioning themselves.
Added support for nested plugs in StandardGraphLayout::connectNode().

Practically speaking, this means that newly created shader nodes can now be automatically connected to the nodes which were selected at the time of creation.
Added Widget.mousePosition() method.

This returns the current position of the mouse pointer, optionally transformed into the local space of a particular Widget.
Added auto-connecting and auto-positioning for pasted nodes.

This makes use of two new methods on GraphLayout - connectNodes() and positionNodes().
Found a bug  bug with the way the parameters to the tbb blocked_range2d we are being set.
Added basic UI elements for GafferImage.
Added subdivision attributes to ArnoldAttributes node.
Merge pull request #241 from goddardl/ImagePlugThreadBug

Fixed a bug with the ImagePlug and negative data windows.
Merge pull request #242 from goddardl/ImageUI

Basic Image Viewer UI
Changed the getChild() calls within the plug accessors within GafferImage::ImagePlug to use indices rather than strings.
Moved the tileOrigin() methon into the header file of ImagePlug.
Merge pull request #244 from goddardl/ImagePlugOptimize

Optimisations for ImagePlug
Merge pull request #240 from johnhaddon/pastePositioning

Paste positioning
Merge pull request #243 from johnhaddon/arnoldSubdivisionAttributes

Added subdivision attributes to ArnoldAttributes node.