Use a trait to add the template inheritance logic
Merge pull request #19 from contao/feature/template-inheritance-trait