Previously, JSDoc parsed the test code and found the namepath `module:icecream.FLAVORS` (correct), but also `module:icecream~FLAVORS.VANILLA` (wrong, because `FLAVORS` is a static member of the module, not an inner member).
With this change, JSDoc should consistently identify `FLAVORS` as a static member of `module:icecream`.
If a class has a tag like `@alias module:foo.Bar`, then we can infer that the module for the current file is `module:foo`, even if there's no `/** @module foo */` comment in the file.
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.