JavaScript template engine that extends HTML5 semantics