feat: base path is relative to file's current path

The file base path is good in most cases. However when using a glob pattern to grab files it is helpful for the base option to be relative to the file streams current base path.

For example
When using a glob pattern ```foo/**/*.html```
With a file ```foo/bar/biz/baz.html```

You get a file stream of:
base: ```foo/```
path: ```foo/bar/biz/baz.html```

In this case passing a base option of ```bar/biz/``` will leave you with just ```baz.html``` when generating the template cache.