undo system rewrite, again: temporary loss of edit coalescing, but now we have a workable undo/redo stack
changelist is now in charge of cursor positioning after undo/redo
adding edits clears the redo stack; save, clipboard ops, and deactivate commit the current action