Undo/Redo

WYMeditor's undo is, in some cases, not accurate.
`UndoRedo._add` will be private. This is the function that will be public and it already does one more thing besides calling `UndoRedo._add`—it triggers an event.