Add xcb information to mkconstants

Add cairo-xcb.h functions to constants as
cairocffi.constants._CAIRO_XCB_HEADERS
Add cairocffi.xcb

Create cairocffi.xcb module, which uses xcffib as a library to create
XCBSurface objects
Add xcb tests

Add test cases for the new cairocffi.xcb module. Two test cases are for
creating XCB surfaces on pixmap and window.
Add xcb documentation

Add documentation for cairocffi.xcb module to sphinx docs
Add xcb install option

Installs xcffib for xcb support when running:

    pip install cairocffi[xcb]
Run tests with --boxed

When using XCB extensions you need to query the extension before making
requests to it. (This is referred to in the XCB documentation as the
"extension cache".) Older versions of cairo sometimes don't do this, so the
first test will pass, but the second test will fail because cairo is caching
request ids from the old connection (an example wth an xtrace is [1]). To work
around this, we run each test in a separate process via --boxed, which forces
cairo to ask XCB about the extensions for each test.

[1]: http://paste.ubuntu.com/8320590/