OpenGL ES compliance

This set of commits addresses Issue #23. It throws an error for missing required extensions, and it gracefully handles missing optional extensions. For the most part, this means that HMD rendering falls back upon normal rendering.

In combination with the incoming edits from pull request #53, it resolves all known issues with OpenGL ES compliance and thus resolves Issue #51.

(I don't know why 08fa60e appears in both pull requests. I hope that's not a problem.)