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