Undo/Redo—initial implementation

WYMeditor's undo is, in some cases, not accurate.
Sure. But in a different PR. We already have some events and we already lack a test module for them. Why should this PR fix that issue?