Implement input method v1 keyboard grabs
The protocol is rather ambiguous regarding what events should be sent. So, we send only hardware key events. Another corner case is that the client has no way to indicate what version of wl_keyboard it supports. In order to avoid crashing clients, the grab_keyboard request returns wl_keyboard objects of v1.