Hide Object.assign polyfill behind a module

Because the JS community's polyfilling infrastructure sucks and we'll
have to fix it for them before we require this.

JSX spread uses React.__spread
(which might get special behavior for key/ref, not sure yet)

This never uses the native implementation and throws for prototype chains.
Once the native implementations are faster, we'll start using them.
This file shouldn't be here. Maybe `src/vendor/stubs` instead? We'll have to do a bit of trickery to make this work properly.

We can leave it here for now and then move later.