This allows named templates to be added, for example:
interface HandlebarsTemplates {
specialListOfThings: HandlebarsTemplateDelegate;
}
So the strongly typed version can be used.
var template = Handlebars.templates.specialListOfThings;
The compile function returns a template function. The template function takes two parameters, `context` and `options`. These are both optional parameters. This commit fixes `context` to be optional.