cleaned up SpriteFont implementation

I came across the current implementation for SpriteFonts and figured I could DRY it a bit.