Exports for Node.js and Browserify

Has backwards compatibility for the old `require()` API. If we're in the browser, export as a standard global object.
totally silly, but rather than introduce another variable `expose`, I'd probably reuse "exports":

```js
if (typeof exports !== 'undefined') {
// ...
} else {
  exports = global;
}

exports.Observer = Observer;
// ...
```

btw, is there a standard pattern for structuring this? I imagine this problem--wanting to share library code between browser and node.js--must come up a lot.