It turns out that JSDoc's dependency-injection needs are pretty simple; we mostly just need to pass around some data, plus some logging functions. That means the previous solution was overengineered, even though it was still pretty lightweight.
Now we just put everything in the `Env` object and pass that around instead.
These changes enable templates to use the logging functions even if they're not installed in the same `node_modules` directory as JSDoc.
Includes API changes to various modules and functions that didn't have access to the dependency object. Most notably, you now call a function to retrieve tag definitions, rather than just using an exported object as-is.
Glob expressions are easier than regexes to write correctly; they're often easier to read as well. We support all of the syntax in https://github.com/mrmlnc/fast-glob#pattern-syntax, which should provide more than enough flexibility for JSDoc users.
Related change: If a `package.json` or `README.md` file gets picked up as one of your source files, we no longer assume that it should be incorporated into the generated docs. Instead, you must specify the file explicitly with the `-P` flag (for `package.json`) or the `-R` flag (for `README.md`).