- Create XKB keymap before wlr_backend_start() so it's available when
libinput detects keyboards synchronously during startup
- Support multiple keyboards by allocating per-device listeners instead
of replacing listeners on each new keyboard
- Remove duplicate keymap creation code that ran too late