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.
Merge pull request #596 from johnhaddon/toolbar

Viewer toolbars