Transactions can now overwrite, rather than add to, the undo history.
Run the formatters as part of the input transaction.

This not only consolidates 'content-changed' events and undo items, but enables
us to avoid recording undo items for typing-related DOM mutations (which changes
are recorded, if appropriate, by the typing history manager).
Document the undo algorithm in the README.

Fixes https://github.com/guardian/scribe/issues/98.