feat(client/diagram): integrate undo/redo