Basic undo implementation without accessing the server via Ajax
Basic undo implementation without accessing the server via Ajax

It uses complete deep copy of all history, so it may consume so much
memory, but it's most robust and straightforward.

msakuta/SketchCanvas,msakuta/SketchCanvas,msakuta/SketchCanvas