DISCL-235: Code review Friday refactorings

This is preliminary draft review
Might be future work - if we run into memory issues, we might have to write a glTexture memory pool, but this is outside the scope of this code review...