When rendering templates, pass along the directory of the page or data
being rendered and if the required template is found in that
directory, prefer using that.
Diff needs to read the files after renderHtml has already escaped the
page name. Perhaps a different solution would be better: two
attributes for Page and changing all the templates to use the new
EscapedName attribute?