* Add initial event manager implementation,
roughly mimicking Nordic's API.
* Add `position_state_changed` and
`keycode_state_changed` events.
* Hook up HID and keymap to new events
instead of using behaviour global event
crazy.
* For now, to be used for FrankenKyria, where both
matrix halves will be attached to the same MCU, but
should be a stepping stone to proper split support
once we have a kscan driver over a split transport.
* Implement multiple instances for mock kscan driver.
* Move all headers to `include/zmk` directory.
* Update includes to reference them properly.
* Add `keymap.c` file from keymap, if found.
* Toplevel CONFIG_ZMK_BLE aggregate config setting.