Generate bindings for Monado and SteamVR from json
The SteamVR input profiles can use more work (default bindings, legacy bindings, icons, coordinates for the binding ui, ...) but they are functional.
Surprisingly many things in SteamVR pick up the inputs from the input profiles well enough without any sort of supplied default bindings. Presumably well known input names like "/input/system", "/input/trigger" are automatically used for various default bindings.
This MR avoids touching most of the binding logic of Monado and opts to generate an array of binding structs similar to the ones previously found in oxr_binding_data.h. Those structs now also contain various metadata used in SteamVR. If we want to optimize for people who do not want/build the SteamVR plugin, we could ifdef some of that out.