Put the coloring stuff into Text instead of ColoredText.

This is in anticipation of making Text work in CPP - you need that
coloring logic accessible from both platforms, and that means it should
go in Text.

That means I should rename ColoredText...