bug fixes and improvements for motion and visual selection

Bug fixes and improvements:

* Make EasyMotion's behaviours more consistent with Vim's default on properties such as `linewise`, `inclusive`, `exclusive`,
* Visual mode selection works correctly now. You can freely change the cursor between the start and end of a visual block using `o` and still get the right visual selection
* Some regex match bugs fixed. 
For example EasyMotion's `w` and `b` now also match the start of non-`iskeyword` words

With above patches, using EasyMotion as a complete replacement of Vim's default motions is more comforting now, as it being more consistent with Vim