Use object-assign module as replacement for es6-shim

This corrects an issue running firmata inside of a Chrome App, where es6-shim conflicted with Chrome's CSP.

Specifically, [this line](https://github.com/paulmillr/es6-shim/blob/master/es6-shim.js#L72) was the culprit.

This could be worked around with sandboxing, but that disables all `chrome.*` APIs, making `browser-serialport` non-functional.

To fix the issue, and since only one ES6 feature was used (`Object#assign`), I've added Sindre Sorhus's `object-assign` ponyfill.

If in the future more ES6 methods are used, another solution might be found (or a patch submitted to es6-shims).

Please let me know if there's anything wrong with this patch, and I'll try to get any issues fixed.
I recommend not using "^" as it's developer-hostile to anyone using node older than `0.10.24`. I stick with `~` on all my modules.