[WIP] Python 3 support for 4.6.x branch

This is a PR to merge the Python 3 support into the backwards compatible 4.6 branch.  Before this can be merged into master there should be similar merges of the Python 3 support into Pyface, TraitsUI, and Enable master.

This was made as a request from #259, but I'm personally not interested in pushing this further right now.  If someone wants to pick it up and run with it, feel free.