An undo/redo library for AngularJS