TextBlock::{write,onText} => InnerTextBlock::write

big diff, but not much happened:
- all the code in TextBlock::onText was moved to InnerTextBlock::write,
  which doesn't rely on this.cursor being set on the TextBlock
    + (which had caused all TextBlocks that were rendered from LaTeX
      rather than created with .createLeftOf() to error when typed in,
      so this fixes #121)
- the one-liner TextBlock::write is now directly inlined into
  InnerTextBlock::write
    + which .createLeftOf() calls instead of TextBlock::write. Note that
      now that means .createLeftOf() now does weird stuff on $, but $ is
      supposed to be treated specially anyway, will fix later.