Added GafferOSL module with OSLShader node and test cases.

This is the first step in supporting Open Shading Language in Gaffer. Upcoming commits will add the ability to actually execute the shaders to create images.
Added OSLRenderer class.

This implements the IECore::Renderer interface, allowing it to receive options, attributes and shaders as for a real renderer, but it doesn't actually produce images. Instead it returns ShadingEngines which can be used to run the OSL shader network specified by the current attribute state. This will be used by upcoming nodes to run shaders using image channels and primitive variables as inputs and outputs.
Fixed GafferUI.showURL() on OS X.

We were running into problems because we have a custom DYLD_LIBRARY_PATH which prevents some applications from loading properly. Using the "open" command launches in a fresh environment automatically. I suspect we need to do something similar on Linux, but can't test there right now.
Added some simple OSL shaders for use with the upcoming OSLImage node.
Added the OSLImage node.

This runs OSL shader networks using image channels as both the input and output.