add ability to register an individual template from a path directly, also factor Template.from_path(). Plus, iterate over an AshesEnv.
factor AshesEnvs and Loaders to allow overriding of the Template type, for easy extension of Template capabilities without overriding a bunch of methods just to change one line