Python 3 support

Mostly fixes related to integer divisions and bytes/str stricter separation.

I haven't tested this in production but I'm able to graph a whisper file in python 3, which is encouraging.
Obviously this isn't your code, but I really hate to see this when a list comprehension is a bit nicer. This is a bit magical and should be refactored down the road.