Multiple editing surfaces, one command history

I’ve opened #391 to make the history optional and more pluggable.