Slightly more flexible TextRenderer and window

-Window is dynamically sized based on the text dimensions

-TextRenderer's actual text rendering algorithm is now separated from
the code that looks up the texture and render target.