[vim] Support text objects in visual mode

@heppe please review at your convenience. I had to make a few small changes to the key handling code because `i` and `a` in the text object keys conflicted with their enter insert mode equivalents.