update text.tprint to use rendered character cache