include Python.h first in extension code; patch by Jason Grout.
This cleans up the preprocessor directives and allows compilation on Solaris.
A preprocessor directive is added to keep png.h from failing on Linux
because Python.h has caused setjmp.h to be included.