- Text rendering:
	- FontMetrics: Class which keeps track of the positions, sizes, kerning etc.
				   of all the glyphs in a font. Independent of drawing backend.
	- FontAtlas: Specific subclass of TextureAtlas. Base class for any font
				 rendering backends. Fills out a FontMetrics, generates an RGBA
				 image of the font atlas.
	- FreetypeFontAtlas: Default font renderer.
	- TextLayout: Class which takes a string, a FontMetrics, and a boxWidth, and
				  fills out a struct with the glyph positions to render that
				  string. Should be able to cache this class for text which does
				  not change often.
	- Drawer::loadFont(): Generates a FontMetrics and a basic FontAtlas
						  according to the passed-in values, loads the FontAtlas
						  as a TextureAtlas. FontMetrics is stored in a map with
						  the passed-in font id as its key. FontAtlases are
						  cached so that glyphs may be added to them if new ones
						  are required which aren't already in the atlas.
	- Drawer::drawText(): Generates a TextLayout from the passed-in text, uses
						  it to render the correct glyphs from the appropriate
						  FontAtlas. Include a version of drawText() which takes
						  a TextLayout& so that it can be cached if the text is
						  not going to change frequently. If the text contains
						  characters which we do not have a glyph for in the
						  appropriate FontAtlas, the atlas texture should have
						  them added to it via glTexSubImage2D().
