Asynchronous templates for the browser and node.js