Added IECoreGL::FrameBuffer::frameBuffer() method.

This provides access to the underlying GL framebuffer handle in the same way that Shader::program() provides access to the underlying program.
Added a framebuffer to the default GL context on OS X.

This is similar to the pBuffer created on Linux, and fixes several of the Selection.py test cases.
Used ARB extensions for occlusion queries in IECoreGL::Selector.

The non-extension form is only available in OpenGL 3.
Suppressed overzealous GLSL compiler warnings on OS X.

The warnings are still reported, but at debug level rather than warning level.
Added IECoreGL::glslVersion() function and python binding.

Querying the version with glGetString() is something of a pain, and isn't available from python without PyOpenGL either. This utility helps with that.
Fixed geometry shader test failures caused by missing GLSL functionality.

There's no point in testing geometry shaders if they're not available.
Fixed test failures with GLSL version 120.
Fixed IECoreGL::CurvesPrimitive for GLSL < 150.

Since we don't have the features we need for ribbons and cubic curves we just fall back to rendering linear lines at all times.
Added IECoreGL::Selector::IDSelect fallback for GLSL < 330.
Merge pull request #156 from johnhaddon/gl2

OpenGL 2.1 Compatibility Fixes. Looks good to me but I haven't tested the OSX code...