Walker interface reimplemented with CFFI

I've reimplemented the `Walker` interface with CFFI; this is a first step towards reimplementing the entire pygit2 Object model with CFFI. It's supposed to be a straightforward rewrite, I haven't made any changes to the API to avoid breaking the backwards compatibility.