Added key simulation

`Keys.simulate(key)` will now trigger any handlers associated with that
key. Also made the `Keys.addHandler` function more forgiving in terms
of arguments.