Python 3 support

Not ready, but I'm starting a pull request to give visibility to the branch.

Ref #13