return cached instance when requiring aliased module

previously, if, for example, aliasing `jquery` to `jquary-browserify`, `require('jquery')` would always return a new instance of `jquery-browserify`, which is not how node's `require` works. This patch properly returns the same instance for aliased modules.