Organize the code into a CFFI-based package

I have made the necessary changes for publishing this as a PyPi package. The interface is left intact; you may want to adjust the package metadata or the readme file. It should be possible to register it on PyPi without any problems.

The only thing is, I am not completely satisfied by how I handled the CFFI compilation. It seems to work, but I am not certain if it is the way intended by CFFI authors. I may fix it in later PRs, when I learn more about it.