FormattingWriter: Rename write to writeWithContext

since that describes better what it does, and I’ll need a method
between writeWithContext and countingWriter.write for #12.
Implement #12: Multi-line strings

This includes some refactoring; see the following new methods:
* writeIndentation()
* write(Token)
* handleContext(QueueElement)