Invalidates render state when a color is set

I probably need a smarter system, here, so that the renderer can restore
the previous state.
Fonts set a color by default.

This is more like previous font system behaviour.

The problem is that font rendering often sets text colors, and since the
vsRenderQueue batches material rendering, we'll generally end up
rendering all text which uses a particular font at the same go, so the
renderer doesn't even realise that we've combined multiple objects into
just one string of render commands, so can't automatically reapply the
material.

A correct solve is probably to set up some sort of stack for rendering
state, so that a display list which modifies the rendering state can
restore it again once it's done rendering.

Right now, I believe 'color' is the only attribute which can be touched
explicitly without going through a material.  But I might want to do
something similar using other render settings someday, so it's probably
going to be worth moving to a full stateblock implementation.
Simplifies vsDisplayList font rendering.

Removes three renderbuffers per glyph, and now just uses one per font
plus one per glyph.

Further improves vsDisplayList calculation of bounding boxes, to
compensate.