Add Undoable Game

Add Undoable Game
Add GameSnapshot

Add GameSnapshot