1. Implemented command recording for node-dragging operation (through DragSelectionCommand)
2. Moved begin/end dragging codes into WorkspaceViewModel, leaving StateMachine to do state managements
3. Moved "List<DraggedNode> draggedNodes" from "StateMachine" into "WorkspaceViewModel"