Undo/Redo—initial implementation

WYMeditor's undo is, in some cases, not accurate.
I've moved the `registerChange` call from outside and after the list manipulation calls to here, inside of them. This makes sure that history isn't registered when no changes are made.