Split visual.py into multiple files

As discussed on the mailing list, split visual.py into individual files.

Also includes previous gitignore and installation improvements