Reworked texture binding to use texture units correctly, and refactored SdlGlContext a bit