Improve generate_html() API - take in templates_dir.