With this change, fr-t-k0-azerty.xml and mt.xml can load without any
ERROR 300007: The source file has an invalid structure errors.
Other errs show up, but it is progress.
Fixes#7411
Compiles a LDML keyboard .xml down to a KeymanWeb .js file. Currently
only supports some metadata.
Next step is to generate touch layout data, then to embed the binary kmx
data.
Also splits attributes from sub-elements in kvks-file in order to make
round-trip writing more pleasant.
Adds new round-trip test for kvks writer.
Removes incorrect property keybitmap, adds missing property layout.
Splits file format reading, writing, and in-memory structures of .kmx,
.kvk, .kvks, .xml (ldml keyboard) into separate common module. Lots of
little fixups, sorry...
This will make it much easier for us to reuse these readers and writers
in future code.