[render] further simplify interface

template now just receives options and schema as input