Support for building against SteamVR

-Moved LibOVR under external/
-To build against Steamworks copy the `sdk` folder into `external/` and
then rename it to Steam
Fix for null pointer crash on load screen
Refactor

-Better internal abstraction/delineation between VR code path and OVR
specific code path
-Minimize internal state leakage in VR render path
-Migrate over to using OpenGL core enumerations instead of ARB
enumerations
Fixed problems in shader linking
Bug fixes

-Fixed a bunch of uninitialized variable problems