ensure I18n is initialized for Node/CommonJS only when the environment is a Node/CommonJS env

@fnando please review

Without this fix, developers cannot use QUnit alongside i18n because QUnit defines `window.module`.

I noticed there aren't currently any tests for the Node/CommonJS vs. AMD vs. browser globals branches in the factory initialization section. Testing it would also involve some non-trivial refactoring of the specs since i18n.js is required before any tests and uses an IIFE to load the library...happy to help with that if you'd like, but this is a pretty minor change that is the default way of checking for Node, for example:

https://github.com/jashkenas/underscore/blob/181595137307d53d5781c428e78f2573012bdd16/underscore.js#L45
https://github.com/moment/momentjs.com/blob/9d6d3c663b0c6e2cd358280eac10862cbaad1859/libs/nodeunit/nodeunit.js#L508