Python 3 support

There's still some test failures (in both Python 2 and 3) which I've outlined in `test-failures.txt`. Basically four things need to be decided:

1. Whether or not to drop Python 2.6 support since ReportLab 3 only supports down to 2.7.
2. Try and figure out what is causing the keepinframe test to fail. This is a long standing bug so not that urgent to fix.
3. Fix the PyPDF2 related failures in Python 3.
4. What to do about a ReportLab 3 font loading bug in Python 3.

More info in `test-failures.txt`. I will also add some comments.
Python 3 spits out warnings if you leave files open, hence why I've added `close()` to a couple things scattered around.

ReportLab itself outputs about 1000 warnings when running the test suite as RL never closes fonts.