Change makeHistory to be a regular constructor
Fix selection undo, chunk 1
Add a more serious implementation of selection history