TextRender: cache the rendered text and implement does_render test

Remove these comments. The code explains itself pretty well.