Wrapped SDL smart pointers in sdl namespace

Wrapped SDL smart pointers in sdl namespace
    src/audio/MusicTrack.h
    src/audio/SDL_mixer.h
    src/audio/SoundChunk.h
    src/graphics/GraphicsManager.h
    src/graphics/Surface.cpp
    src/graphics/Surface.h
    src/util/FileUtil.cpp
    src/util/SDL.h
    src/util/TestSDL.h
Added GlCheck header file for reporting glGetError()

Added GlCheck header file for reporting & logging glGetError()

This error checking is disabled with NDEBUG macro.
Alternatively you can define CHECKGL, though this is a very unintuitive name
TODO: use a different global macro to disable CHECKGL separate from NDEBUG

    src/graphics/GlCheck.h   (+)
Added passthru + GlError checking on state changes

- Added passthrough functionality that skips any redundant GL state change check
- Added checking of GL Errors that might occurr due to state changes.

To enable passthrough, define GL_STATE_GUARD_DISABLED

 src/graphics/GlState.cpp
 src/graphics/GlState.h
 src/graphics/TestGlState.h
Disable file logging on Android

Disable file logging on Android
    src/Android.mk
    src/main.cpp
Extended loggable types

Extended loggable types

    src/util/Log.h
VAO created and destroyed by GraphicsManager

VAO created and destroyed by GraphicsManager
    src/graphics/GraphicsManager.cpp
    src/graphics/GraphicsManager.h
ShaderResourceManager has global access

ShaderResourceManager has global access

Since this manager mirrors the global state of compiled drivers on the graphics
card, it makes sense that this class provide a singleton object represnting this
global state.

    src/graphics/ShaderResourceManager.cpp
    src/graphics/ShaderResourceManager.h
Renamed ShaderProgram::get() to getGlID()

Renamed ShaderProgram::get() to getGlID()

This is to better differentiate when using smart pointer containers with
ShaderProgram objects

    src/graphics/ShaderProgram.cpp
    src/graphics/ShaderProgram.h
Fixed Surface bug, missing mipmap creation

Fixed Surface bug, missing mipmap creation

This was a truly annoying bug, as no error was reported at any point, be that by
the CPU or the GPU. Texture data just ended up being vec4(0) when accessed in
the fragment shader. In spite of this, the glDEbugger showed that the texture is
if everything was normal. Apparently, if you tell OpenGL that the
GL_TEXTURE_MIN_FILTER is GL_LINEAR_MIPMAP_LINEAR, you better make sure to actually
generate the mipmaps with glGenerateMipmap(GL_TEXTURE_2D)

Anisotropic filtering is also disabled on OpenGL ES

    src/graphics/Surface.cpp
Added basic 2D texture rendering

Added basic 2D texture rendering
    assets/shaders/render2dimage.frag (+)
    assets/shaders/render2dimage.vert (+)
    src/graphics/Renderer2dImage.cpp  (+)
    src/graphics/Renderer2dImage.h    (+)
    src/graphics/RendererInterface.h  (+)
Using 2D image rendering as a WIP testing.

Using 2D image rendering as a WIP testing.
    assets/images/uv_colorgrid.png   (+)
    src/core/MainManager.cpp
    src/core/MainManager.h