FakeVim: Differentiate between <S-SPACE> and <SPACE> and others

Since some keys with shift modifier pressed generate same string (e.g.
<S-SPACE> and <SPACE>), the modifier must not be ignored.

Recognize Qt::Key_Backtab as <S-TAB>.

Change-Id: I6b25dec4b3bc9564249609449f9df7cd7fab263e
Reviewed-by: hjk <hjk121@nokiamail.com>
FakeVim: Fixes for insert/change in visual mode

Always limit position of marks to current document (mainly position of
'<' and '>' marks for last selection).

Command '$' selects end of selected lines in visual block mode. This
will require editor support since visual representation of such
selection isn't always rectangle.

Command 'c' works the same as 's' in visual block mode.

Corrected positions for 'I', 'A', 's' and 'c' commands in visual block
mode after '<ESC>'.

Task-number: QTCREATORBUG-11378
Change-Id: I86582b634eb782829db48fd1b914713f87ac409f
Reviewed-by: hjk <hjk121@nokiamail.com>