allow setting template at class or instance level

- the template to render will be pulled off the class attribute `template`
- it can be assigned via self.template = 'x' in the class context
- or overriden via def template; 'x'; end in the instance context