hacky but functional transpose-chars

(note that undoing it leaves the cursor in the wrong place)