We only call `addNodeProperties()` once, so there's no need to confirm that we haven't called it already. The extra checks before defining the properties caused v8 deoptimizations.
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.