Windows support, new setup.py, Codecov, shields.io

Official support for Windows (mainly just getting the terminal's width).