Distribute the headers as well

Distutils is really stupid, this is just a hack.
Fix build on Mac

Distutils is so primitive! I had to reimplement the whole
build_extension() method (stripped down a bit), just to pass different
compiler options for C and C++ files.