Added stream insertion operator for GafferScene::ScenePlug::ScenePath

Having to write 4 lines of code every time I wanted to print out a scene path when I was debugging stuff was annoying me...
Added plugs for specifying display style in View3D.

Upcoming commits will wire them up with UI elements to allow the user to change the display style.
Fixed unwanted scaling of Button images.
Fixed RunTimeTyped declaration for SceneView.

It was declared as deriving from View rather than View3D.
Improved MenuButton menu positioning.

It now always aligns the menu correctly, even when it doesn't have a frame, and also now uses the public Widget API to find the right location.
Fixed bug in Widget.widgetAt().

It was always returning the widget under the mouse, and not the one under the specified position. Also fixed WidgetTest.testBound() - it seems that we need to give Qt a number of idle events before it has got all the windows arranged on screen ready for testing.
Added widget overlays to GLWidget.

This allows any Widget subclass to be displayed as an overlay on top of the OpenGL contents. This initial implementation provides very little in the way of layout control for the overlays, but just enough to get a toolbar working in the viewer (in an upcoming commit). There's enough subtlety to the integration of QGraphicsViews into the Widget hierarchy that I think getting this functionality in and tested before we worry too much about layouts is a good thing. The aim in the current implementation is to have overlay Widgets appear as a standard part of the Gaffer parenting hierarchy, with none of the special cases and quirks involved behind the scenes at the Qt level.
Removed annoying border from GLWidget.

There was a one pixel gap when not focussed and a distracting border when focussed.
Added toolbar to Viewer editor.

Currently this just has a single button for controlling display styles in the 3d view.

Fixes #114.
Fixed bug where searchable menus kept keyboard focus after closing.
Fixed focus stealing problems apparent in Viewer and NodeGraph.

GadgetWidget still steals focus on mouse enter, but won't steal it from widgets which are specifically for text input and nothing else (QLineEdit and QPlainTextEdit). This fixes problems users were having where their mouse would slip and lose focus before the typed.

NodeGraph also makes sure it takes focus back when the NodeMenu is closed.

Fixes #555. Fixes #439.
Merge pull request #595 from davidsminor/scenePathStreamInsertionOperator

Added stream insertion operator for GafferScene::ScenePlug::ScenePath
Added per-column visibility for CompoundVectorParameterValueWidget.

Visibility is specified using the standard ["UI"]["visible"] userData entries on the child parameters which provide the columns.

Also added setColumnVisible/getColumnVisible methods to VectorDataWidget to support this.

Fixes #526.
Merge pull request #599 from johnhaddon/compoundVectorParameterColumnVisibility

Added per-column visibility for CompoundVectorParameterValueWidget.
Merge pull request #598 from johnhaddon/focusFixes

Focus fixes
Merge pull request #596 from johnhaddon/toolbar

Viewer toolbars