Implemented FontAtlases.

Font atlases are basically collection of diffrent fonts that have been
packed together into the same texture.

Each font is packed into a channel of the texture which has 4 diffrent
channels.