Undo/Redo—initial implementation

WYMeditor's undo is, in some cases, not accurate.
This is a funny one. Ideally, it shouldn't even exist. Manipulation functions are not supposed to assume that something might be wrong with what they're about to manipulate. That should have been taken care of elsewhere. But, since it is here, we should add a history point, just in case something went strange and the user notices it—he would then want to be able to undo.