Make the text manager capable of creating and caching an arbitrary number of text renderings
This adds the concept of TextItems, which is a wrapper around the bitmap data of rendered text and its dimensions. The TextItems can be requested from the TextManager, which will also cache previously requested renderings.