Clean up the protocol documentation
There's kind of two overlapping issues here. One is that the specifications are not in consistent formats, some are text and some are xml. Two, made worse by the first point, is that the specs are in principle normative, but there's no easy way to extract data types or enums from them.
I tend to lean toward markdown as the most pleasant output format, partly because it should then be easy to integrate into the gitlab wiki, but I'd take any reasonable structured format. It would probably be a good idea at this point to generate the final protocol documentation from a template and the XCB definitions (after we've re-double-checked that they concur), so that future additions are harder to leave undocumented.