Refactor: Adapter

Moved graphics code from Adapter to OpenGL, moved GL code out of input. I also added a NullAdapter, which we can use for server applications and such.

@zeDoctor, I would like you specifically to review and merge this, as most of it is your code.