handle cursor position; closes #2

implemented by inserting each side of the selection as the null character "\x00"
into the live content so their insertions are included in the diff. adjusted
rebase to maintain inserts of each cursor when their insert would otherwise be
ignored due to a delete strictly enclosing the location. finally, remove the
null characters from the final string and set the selection range to be their
locations.