Resolve node module paths to avoid requiring the same module file with different origin paths

This PR fixes the node plugin's module filename resolution. The previous behavior was to preserve the path as-is for files loaded via `server.addFile` and to absolutize paths for modules loaded via `require`, which resulted in the same module file being loaded from multiple different origins.

Now the node plugin takes the module ID to be EITHER (a) the fully resolved file path to the module file, if such file exists; or (b) the string literal value passed to the `require` function.

This patch also modifies the node plugin's condenser hooks to relativize the module ID in the condense output, and permit backticks (the replacement for `.` in condense keys) in type names (to allow altPaths to definitions from other modules, whose keys now end in "`js").