Support Python 3 and PyPy. Close #2