There is now a CursorSet type that handles multiple cursors, and makes it convenient to maintain the necessary invariants expected by the rest of the code for multi-cursor editing.