Refactor into classes, make compatible with 2.7
Python 3.2 compatibility
Improve packaging