Move the implementation of the Text interface to its own source file, and split it up along widget lines, to avoid it becoming too messy.