Add Python 3 support

This requires at least 3.3, as I left the unicode literals in.

Fixes #7.

I didn't do any coverage checking or anything, but I tested html and non-html (and an out file) for both Python 3.4 and 2.7 and everything seems to work.