Major Update

Switched to OO, Jinja2, and running as a library.