code: function renderTemplateFile(engine, filePath, context) {
      var loader = engine.getLoader();
  
      // Resolve the filePath
      var resolvedFilePath = loader.resolve(null, filePath);
  
      return Promise()
      .then(function() {
          if (!loader.async) {
              return loader.getSource(resolvedFilePath);
          }
  
          var deferred = Promise.defer();
          loader.getSource(resolvedFilePath, deferred.makeNodeResolver());
          return deferred.promise;
      })
      .then(function(result) {
          if (!result) {
              throw error.TemplateError(new Error('Not found'), {
                  filename: filePath
              });
          }
  
          return render(engine, result.path, result.src, context);
      });
  
  }
docs: Render a template
  
  @param {TemplateEngine} engine
  @param {String} filePath
  @param {Object} context
  @return {Promise<TemplateOutput>}