Replace gx with smarter version

This moves the `SmartOpen()` work to core.  A couple of things.  I guess I never really used the visual selection version much, because it was broken (`mode()` always reported normal mode).  So, I replaced the my get selection function with a better one, and fixed the issue.  I ended up dropping the SmartOpen command for two reasons though.  First, there doesn't seem to be a good way to determine whether or not there's an active visual selection in Vim, so it would make it difficult to determine whether to use the current word under the cursor or not.  Secondly, I really never used it.  `gx` is so much easier. :-)