Defensive cursor position handling in ACE adapter

Sometimes when I was setting the ACE contents from the `setValue`, the cursor positions would error out with both the current range and the last range. I didn't understand why, so I added some handling to just go to 0:0 when that happens instead of breaking.

I guess you can tell that I'm not fastidious about my cursor positions.