Add realtime counter to switch context to event polling.

Will be useful for animations, since there's currently no way to tell
GLFW to switch between polling and waiting.
Move blocks to the head of the loop.

This is mostly in case one gets posted before calling run, so it'll
get run at the start of the loop.
Add basic color class.
Add some GL wrappers for GL types, move texture to gui/gl/

They all follow pretty much the same implementation: create, bind, etc.

All bind/use methods have an optional second form where the previously
bound object is bound after the block leaves. This has one important
problem for textures, however: if the active texture unit changes, then
the binding gets put back on the wrong unit.

I'm still debating if this is something I want to care about, since the
binding _should_ be correct at least for the duration of any drawing
calls, so in all likelihood, it's not important. If possible, it's
probably best to just avoid using the preserved-binding mode.
Add requires to gui.rb
Add a basic program to contexts.

Right now, the program is hardcoded and doesn't support textures or
anything, so it's not usable for drawing, but it's sufficient for
testing out the ProgramObject class.
Add a draw_subviews method to View.

Kind of a necessity.

Eventually, draw methods should receive a driver object for drawing,
which should also handle drawing offsets, clipping, etc. where relevant.
Add background color to windows.

This is just the clear color at the moment.
Remove extremely defective draw method body.
Remove update-release-date call in prerelease script.