Add a protocol and record type for modes.

I hope this will simplify adding new modes, and maintaining state
transitions between them.
Update notes.
Kill off post-draw.