By default, VS Code's C/C++ extension updates .vscode/settings.json to associate
.h files with C or C++ based on which type of file they're included by. Since
ZMK doesn't use C++, disable this behavior and always treat .h files as C
headers.
+ zmk,kscan_gpio_demux is now a compatible kscan option
+ kscan_gpio_demux is based heavily off of the implementation of
kscan_gpio_matrix, modified to address cols using an n-to-1
demultiplexer chip instead of discrete IO
+ Added zmk,kscan_gpio_demux.yaml file
* modified CMakeLists to include new source files
* 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.