Add macros to README.
Model registers properly.

Rather than just using an object and accessing it directly, this gives us a
well-defined public interface.
Simplify macro register interactions.

This is a simpler and more accurate version of how Vim records macros: The
macro isn't built in a register, it's just stored there when recording is
complete.
Remove hacky operation reset.

When replaying a macro, we don't want the macro's key presses to be
considered part of the "replay macro" operation. Initially I got around this
by manually starting a new operation, but this required knowledge of the
inner workings of `NormalMode`. This commit switches to using `setTimeout`
with a timeout of zero, which will replay the macro immediately after the
current event handler has finished.