There is a new class introduced, hokey_base, that is the public
interface to the hotkey bindings. It is an abstract class that relies
on concrete classes hokey_keyboard and hotkey_mouse to do the device
specific hotkey work via the template method pattern.
There are two factory methods introduced, load_hotkey and
create_hotkey that should only be used to instantiate new objects.
This commit also changes the hotkey ":" and "+" to ";" respective "="
becausse ":" and "+" are not valid keycodes.