add ass3 files
move code from previous work
add new classes
try using Thread to solve timer problem.
implement timer with low performance.
implments Timer
implement undo/redo
reference bug exists
fix undo/redo bug
undo/redo now support multiple steps
refactor print using dp.
format codes