Renamed GLSL shaders to UpperCamelCase.

This matches the naming convention we use for OSL shaders.
Added a Grid node.
Removed glsl/constant.frag.

This should be in the previous commit, but OS X is case insensitive and somehow I can't squash them together.
Made grid width minimum > 0 to avoid OpenGL errors.

As far as I understand it, the GL spec specifies that a width of 0 may be specified, but will be clamped up to the next representable value. That doesn't seem to be the case with either the OS X or NVIDIA drivers though, where a width of 0 causes errors.

Also enabled line smoothing for the grid, and changed the default values to take better advantage of the new quality this provides.
Fixed SceneView bug whereby initial base state wasn't applied correctly.

This only showed itself when experimenting with additional settings in the base state - I've decided not to apply those for now, but it seems worth fixing this so it won't be a problem when we next do modify the base state.
Made Bookmarks.acquire() support passing Widgets and GraphComponents.

Many parts of the code would otherwise have to jump through hoops trying to find the application root themselves.
Simplified ReferenceUI Bookmarks.acquire() call.
Simplified bookmarks acquisition for PlugValueWidget creation.
Added Bookmarks.acquire() overload accepting multiple targets.
Simplified Bookmarks acquisition in BrowserEditor.
Added support for callable dialogue keywords in PathPlugValueWidget.

This allows the computation of appropriate keywords to be delayed to the point of opening the dialogue.
Improved bookmarks support in PathParameterValueWidget.

It now finds the appropriate application bookmarks as long as either the window it is in or the plug it represents eventually lead back to an application in some way. This enables bookmarks for parameters in the floating OpDialogues created in the browser app. This implements the most important part of #787.
Added support for callable dialogue keywords in PathVectorDataWidget.

This mirrors the support in PathPlugValueWidget.
Improved bookmarks support in PathVectorParameterValueWidget.

It now works for floating OpDialogues in the browser app, by using the window to find the application root.
Improved Bookmarks "recent items" behaviour.

- Identifies recent items by full paths, so multiple recent items with the same basename may coexist.
- Prevents heavy usage of one bookmarks category from removing the recent items for the general (no category) bookmarks.
- Improves bookmarks UI in PathChooserWidget to display full paths of recent items.
Reversed order of recent bookmarks menu in PathChooserWidget menu.

Most recent items are now at the top.
Fixed circular reference in OpPathPreview.

This was introduced in #812.
Fixed bookmarks for floating OpDialogues in the browser app.
Fixed drag/drop to allow modal dialogue creation in dropSignal().
Added creation of bookmarks by dragging on to bookmarks icon.