More work on the public interface for the new glyph map system.

The main thing remaining now is the underlying back-end system.
Cleanup.
A big commit working towards implementing the new glyph map system.

The only main thing remaining now is handling the case when the glyph
map manager is switched. What we want to do is clear already-loaded
glyph maps so they are forced to be re-created when glyphs are
retrieved.
Fix a couple of bugs and make it so glyph maps are deleted when the
glyph map manager is changed.
Have UV coordinates of a glyph be stored inside the glyph instead of
recalculating every time the text is rendered.