small tweaks
fixes #108, #110 (GH): improve single Esc key binding to change modes
fixes #109 (GH): unify transition to next mode in failed and successful commands
fixes #107: vi_cmd_data must become a class
abstract away context checking