HMD fail gracefully on incapable hardware

This small change checks the framebuffer, vertex buffer, and shader object
state when asked to confirm HMD mode. This causes the game to fall back
correctly on non-HMD rendering if any of the above extensions to OpenGL
are missing.

We might want to add a menu element that highlights the circumstance where
CONFIG_HMD is true but hmd_stat() is false, as this would indicate that the
user tried to turn HMD support on, but the system failed. (Currently it runs
normally but the HMD option says "on", which may be confusing.)
Make GLSL truly optional

If compiling with OpenGL ES, stub all GLSL handlers. If compiling for the
desktop, have all handlers confirm the presence of the extension.
Make FBO truly optional

If compiling with OpenGL ES, stub all FBO handlers. If compiling for the
desktop, have all handlers confirm the presence of the extension.
Throw errors on missing GL extensions

Multitexture, VBO, and point sprites are required extensions. If any of
these is missing, show a message box explaining this and exit.
Tiny changes to Makefile

Remove the inclusion of hmd_common when the HMD backend is hmd_null.
hmd_null does not call hmd_common, and we eliminate all calls to the
HMD module's required OpenGL extensions by omitting it.

This is a part of the effort to make all "optional" GL actually optional.
Fix HMD GUI positioning

The HMD orthogonal projection was based upon the screen size reported
by the device rather than the screen size actually being displayed.
Thus the wrong values were being used when the HMD was overdriven in
resolution. As a result, the GUI was off center and too large.
Merge pull request #55 from rlk/master

OpenGL ES compliance

Close #23
Close #51