Fixes 1269

Rewrite motion by word in insert-mode to use motion infrastructure

- Make motion utilities usable by insert utilties
- Use them in `MoveCaretByWord` instead of word utilities
- Adjust unit test scaffolding for API changes
- Allow insert mode to bypass `virtualedit` adjustment
- Swap expected/actual arguments to match usage in related tests
- Add unit tests for issue #1269

Closes #1269.