JavaScript Undo Redo Library