Shader fixes.
Trying to get texture to work.
Texture is rendered, but it conflicts other textures.

- It's a problem with glActiveTexture. Fuckitty fuck.
Active textures and texture binding has somewhat solved the problem.
Okay i get textures now. We're good.

- The shader sampler asks for a texture binding point, in the program we
bind a binding point to a certain texture. We just need  one texture per
shader, so we can just bind one point (GL_TEXTURE0).
- We have nicely wrapped drawing calls in VAOs (except for the GUI
label).
More state.

- State now includes event_manager, to broadcast events from a state.
- We disable resizing the window.
- MAIN_SCREEN state has a goto_exit callback, that broadcasts an exit
event. We add a label to prove how our text rendering is not entirely
correct.