Undo/Redo with QUndoStack

In order to easily extend the undo/redo actions,
the code now use the QUndoStack