Cosmetic changes to clarify subsequent changesets.

Assert(no functional changes).

Benefit of hindsight here. I'm consolidating a bunch of non-functional
changes now to make subsequent changesets cleaner and easier to follow.

This commit only changes:
 - whitespace
 - header order in a few places
 - re-order a few lines related to glBegin
 - replace gl{En|Dis}able(GL_FOG) with TurnFogOnOff({true|false})
 - replace 1.0 with 1.0f in one place
Add abstraction layer header for GL/GLES2.

Assert(no functional changes).

osal = Operating System Abstraction Layer

Following the naming convention used through the Mupen64Plus core and
plugins.  Simplifies merging the GL/GLES2 code bases.
Surround OpenGL-specific code with SDL_VIDEO_OPENGL.

Assert(no functional changes).

Symbol defined in the platform-specific SDL headers (SDL_config*.h).

This is a lot of ifdefs, but the point here is to facilitate trace-
ability throughout the ES 2.0 integration process. The plan is to
beautify this code later, after we verify that the OpenGL codepath is
intact and the OpenGL ES 2.0 codepath behaves as intended.
Implement OpenGL ES 2.0 code path.

Assert(no functional changes to OpenGL code path).

Originally implemented for Paul Lamb's (paulscode) Android port of
Mupen64Plus.

https://github.com/paulscode/mupen64plus-ae
http://www.paulscode.com
Use short-type vertex indices (rather than int-type).

Unsigned short vertex indices are more broadly supported across the
OpenGL variants.  This shouldn't change plugin behavior as long as it
isn't using any vertex arrays with more than 65,535 elements.
fixed compiler warning and error