Add buttons for choosing tool
Support undo
Support redo
Fix an issue on command stack to overwrite commands