Accepts a function as a `basePath`.

There some projects that uses `.jst.eco` as a template extension i.e.`javascripts/assets/views/my_template.jst.eco`. 

In my case I would like to remove `javascript/assets` and `.jst.eco` in the `JST[...]` templates. 

So, this commit allows users to pass the `basePath` as a string keeping the original behaviour or a as function allowing users to change the `JSTPath` as they want.