Makes a history with automatic undo/redo functionality for the specified javascript objects, using ES6 Object.observe().