I have CFFI bindings generated by SWIG, which look like
just a hint: by now verrazano generates much better bindings out of the box then swig and it has a pregenerated cairo binding.
this won't solve your problem either, but if you are interested in such a change, then verrazano could easily be extended to support custom generators. yours would be the first though, so it would need some refactoring in verrazano, but its internal state has all the info that is needed.
hth,