JavaScript client template engine