Add support for one-time-commands from select mode (often used in macros)

- Add 'Ctrl+O' in select mode to run one-time command in visual mode
- Add ModeKind argument to SwitchModeOneTimeCommand
- Rewrite SwitchModeOtherVisual to use implicit selection instead of mode argument
- Refactor IsAnySwitchToCommand into a utility
- Make ModeKind/VisualKind utilities symmetric for visual and select cases
- Allow visual commands to stop after one command if going back to select mode
- Add select mode integration test for one-time command