Font upgrades.

Changing how the Fields, Fonts and Display work together to draw text.
I'm doing this because how we draw text is dramatically different using
shaders than openGL immediate mode.  I have also moved some re-useable
functionality up into Font itself.