Refactored some of OpenGLSystem

There are two parts to this PR:

* RenderTarget is treated as a class and gets its own initialization functions, instead of OpenGLSystem doing all the work
    * This includes the latest `DEPTH24_STENCIL8` option, plus the `hasDepth` parameter
* OpenGLSystem::Update is refactored into smaller functions

Note that this was mostly just moving code around, which is why there are so many additions and deletions.