Refactoring

This is Vim script's way.

- use autoload functions
- check g:loaded_showmotion
- use foldmethod=marker to fold the codes
- use descriptive prefix (not SM_)
- avoid `==` and explicitly specify match/ignore case