Implement _construct, allow creating empty Template

Controller - make __construct final; implement _construct for users
Template - allow constructing without a file (obv. toString would fail)