Topic/text spec stuffing around

This is me procrastinating about Usage Part 1. I was just trying to fix TextSpec and it started to bug me how hard it was to generate an arbitrary sub-string, which started hitting stupid performance issues.

Happy to revert/remove the dirty mutable changes in Text.wrap().