have templates evaluate given source files

This updates the template class to read and evaluate any given
source file on init.  This allows the user to store templates in
files and have them rendered.