Add support for 'selectmode=cmd' setting

- Map normal mode 'v', 'V', 'C-v' and 'C-q' to new SwitchModeVisualCommand
- Implement SwitchModeVisualCommand to obey 'selectmode=cmd'
- Add unit tests to verify 'selectmode=cmd' behavior