Restructure and use setup.py.