Allow custom module loading by not using window but this

I wrote `this` because it is clearer. It could be `@` as well. This pattern allows easier integration with various stacks. For example, we use our libraries on both client and server (node.js).