Made terminal formats more lazy...

Format objects are now even more a placeholder for evaluating a terminal
format escape sequence at draw time, rather than creation time, and we mess
with blessings' Terminal class less. The 'downside' might be that we now
reference Root and Terminal everywhere, which could be considered bad because
it's less like blessings, but on the plus side it means one less object to
worry about.

Also took the opportunity to move the definition of the root element into its
own module, seeing as it's becoming distinctly different from other elements...