add full history undo/redo to time-travel.js

This adds full history traversal by means of undo/redo.  I changed `TimeTravel`'s interface a little to add support for `redo`.