First pass on in-memory html templates. Tests are good but not passing yet.