[IMPROVEMENT] Drawing area: implementation of the Memento pattern for Undo/Redo