Use setuptools instead of distutils

distutils `requires` key is [virtually useless](http://doughellmann.com/2007/11/requiring-packages-with-distutils.html) and does _not_ install required
packages when installing from PyPI.

The commit replaces distutils with setuptools which has the `install_requires` and `tests_require` keys. However, there is one problem: Neither Pango nor Cairo can be installed reliably from PyPI. Actually, the bindings should be installed by users via their respective system package managers because they have to install the underlying C libraries anyway. In `setup.py`, the existence is checked by trying to import the packages, if that fails, installation returns with exit code 1.