VI: spec 'f' and 'F' bindings
Make keyhandler source agnostic

Whereas it previously was tightly integrated with editors, it's now
agnostic, meaning that it can process key events from various sources.
The source id is now passed as a parameter to the process and dispatch
function.