Simplified OpenGL shader menu building.

This brings it inline with the RenderMan shader menu, and avoids lots of unecessary stat()s which can be slow. The old code also got mighty confused by symlinks in GAFFER_ROOT.
Fixed NodeMenu to be per-app.

This allows two apps to run in the same process without fighting over the contents of the node menu. The menu for an app is now obtained using NodeMenu.acquire( application ) rather than being defined by global functions.

Also refactored renderman and arnold menu building out of their modules and into startup/gui/menus.py to match the menu building for the scene and image modules. Renamed GafferRenderManUI.Menus to GafferRenderManUI.ShaderMenu to reflect its more limited use, and to match the API provided by GafferArnold.

Note that these changes break compatibility. Specifically at IE we need to :

- Update the menu building for Jabuka and Grapher.
- Update the central config files.
Merge pull request #359 from johnhaddon/perAppNodeMenu

Per app node menu
Added per-app registration of editors.
* Added a python binding for GafferImage::Filter::defaultFilter()
* Added a method to GafferImage::Sampler to set and get the sample window.
* Added a constructor for the GafferImage::Sampler that does not require a filter (and subsequently uses the default filter).
* Added python bindings for the new constructor.
* Added test cases for all of the above.
Tweaked layout menu order.
Merge pull request #360 from johnhaddon/perAppEditors

Added per-app registration of editors.
Made ScriptWindow.menuDefinition() per-application.

An application must now be passed to ScriptWindow.menuDefinition() to get the definition specific to the application in question. This allows multiple applications to be run in the same process without fighting.
Merge pull request #365 from johnhaddon/perAppScriptWindowMenu

Made ScriptWindow.menuDefinition() per-application.
Fixed interactive display definition to account for typename prefixing change.
Merge branch 'master' of https://github.com/ImageEngine/gaffer