Complete redesign of library. Added classes for environment, template loaders and render context (similar to jinja2) and simplified the rendering workflow and block syntax.