[vim] Add multi-line support to testEdit()
Ensure initial op does a full draw

Even when the editor it set to resize to fit content.

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