Undo/Redo—initial implementation

WYMeditor's undo is, in some cases, not accurate.
How about this, @kylegibson ?