Refactor drawing logic

- Story and its state dict was a mess, so it has been eliminated. It was
  initially intended to be a way to auto-detect changes and make it easy
to render twice with different options but none of that is necessary
anymore.

- Eliminate do_changes, in favor of two separate functions, lines() and
  pads() which will lazily either do a render to a FakePad (no IO) just
to get sizing info, or actually prepare curses pad objects

- Also, change the enumeration shenanigans. The result doesn't look as
  nice, but it's less disturbing to the screen and require less tortured
drawing logic. My only qualm about this is that you lose the first ~2-5
characters of story data. It's possible to restore the old behavior
without reintroducing the bad logic though and it might be better to do
a more footnote style which would be trivial with the new scheme.

- Both tag and story format strings are simplified and no longer have
  access to enumeration information. The ability to do enumeration is
either totally unused or too important to let a style fuck up.

The other, fringe benefit of this is that I can now do some experiments
to play with the memory v. cpu trade-off. It will be easy to destroy
pads and redo the print work, for example.

There may also be a slight (positive) performance effect from this.