routed_command : make `KeyBinding` a concrete class

It is designed such that its implicit interface can be implemented from
the outside.  A common use case is to define one's own key binding
classes which are serializable / user-configurable / etc... but this
provides a default implementation for out-of-the-box behavior.