WIP: protocol: introduce logical keyboards
The current wl_keyboard has a single stream of events with exactly one active keymap. This is creating problems for a bunch of use cases:
- per-keyboard keymap weston#347
- keymap for virtual keyboards wayland-protocols!11
- local multiplayer games with players on different physical keyboards
- …
This MR introduces logical keyboards which are just events with an ID grouping further key, modifiers and keymap events to that ID.
Marked as WIP because this is a rather radical change in how keyboards are working and it requires a POC compositor and client. (working on patches for weston but the changes are not trivial.)