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