template: introduce yield_expr() to yield ${...}

allowing the template to do escaping and reencoding