Use six instead of 2to3
Add document with tips for writing portable 2-3 code
Fix compatibility with older version of PIL
Merge pull request #2226 from mdboom/six

Stop relying on 2to3 and use `six.py` for compatibility instead