Avoid using polyfill MutationObserver as ASAP implementation

Trying to use both this Promises polyfill and the [Polymer/MutationObservers](https://github.com/Polymer/MutationObservers) leads to some issues. I think we need to ensure that the ASAP implementation does not try to use a polyfilled version of `MutationObserver`.

I'm not sure I like this approach, but I'm open to suggestions. I'm worried about the cross platform aspect of `toString`. If we only cared about expliciting supporting [Polymer/MutationObservers](https://github.com/Polymer/MutationObservers), we could just check that `BrowserMutationObserver !== JsMutationObserver`.

/cc @jakearchibald @azakus