Based on a patch by Vincent Torri. Changes from that patch: add Requires to the .pc.in files based on the <import>s in the extensions, add a .pc.in file for libXCBxtest, change Name and Description fields to match extension names.
This requires dynamically allocating memory in XCBSendRequest, but this
malloc/free pair turns out to cause a 30% speed hit for the 'x11perf -noop'
test -- so for the moment I use alloca where available and fall back to malloc
on other platforms. Later I think I'll change the contract of XCBSendRequest
so the caller is responsible for memory allocation, because the caller ought
to always be able to stack-allocate here.