Define `self` and `window` global objects in the combined JS code so that:

* components making use of `window` can actually do it without the trick found in the `components.js` file of the dummy test app
* components/files packaged as CommonJS modules by browserify (using browserify-rails for instance) can successfully use `global`

 For this second point, this fix is necessary because of the self-calling function browserify uses to wrap code that uses the `global` variable:

 ```ruby
 (function (global){
     global.MyComponent = React.createClass({ ... });
 }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
 ```
If `window` was used instead of `global`, it would still need the fix or the workaround found in the tests' dummy app as mentioned.
Comply to FB's style
Remove "hacky" code now that window is defined inside the server-side Javascript VM
Merge pull request #84 from digitalcuisine/happy-browserify

Remove need for global workaround and make Browserify happy