Adding ScopedTextureBind overloads to deal with VS2013 shared_ptr casting bug. Fixes #545
Inline gl class forward declarations, as all usages in gl.h are via the shared_ptr versions.
removed typecasts that are no longer necessary becaue of ScopedTextureBind vs2013 workaround
Merge pull request #595 from richardeakin/scoped_tex_bind_overloads

add ScopedTextureBind overloads to work around vs2013 bug