Editor : add `undo` and `redo` with doc and test

I think it is preferable to interact directly with the UndoManager
(since it exposes hasUndo / hasRedo) but these Editor methods contain
additional logic for scrolling the cursor so we need to expose them for
users to choose.