Refactor to make mu.Stream class-based (constructor+prototype)

I was having trouble running multiple streams on a page, so refactored to make class-based. Specifically, the callback for the last-initialized stream were being called for responses from the earlier-initialized streams.

The API should remain the same for existing users, but you can now call

```js
var foo = new mu.Stream({ ..config... }),
    bar = new mu.Stream({ ..config with another path... });
```

and the responses from the two streams won't interact.