[vim] Implement visual_o
[emacs keymap] Make setMark() be a toggle like in Emacs

pressing Ctrl-Space once starts the selection extension mode,
pressing it again cancels that
[vim] Added support for reg[isters] command
Remove single pixel extra leeway in updateScrollBars

It causes noticeable missinge scrollbar in some cases.

Closes #2317
Merge pull request #1 from marijnh/master

Track upstream changes