protocol: introduce logical keyboards

fixes a bunch of problems:
* keyboards with different keymaps
* keyboard-input protocol kind of needs this
* multiplayer games on different keyboards

Signed-off-by: Sebastian Wick <sebastian@sebastianwick.net>
2 jobs for logical_keyboard in 1 minute and 18 seconds
latest
Status Job ID Name Coverage
  Build
passed #1647927
build-native-autotools

00:01:18

passed #1647928
build-native-meson

00:00:46