added .font() and .layout() methods to Text

- they work the same way as the eponymous commands, but they only
affect the state of that particular Text object
- changing font or layout settings on a Text won’t affect its existing
contents, but any subsequent calls to .append() will use these settings
as the default style