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).

Applying the formatters no longer pops an undo item because one will no longer
be created after the input transaction and before the formatter transaction,
now that both transactions will run together.
Document the undo algorithm in the README.

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