fixes #504, avoids global list of all MutationObservers

They're now added to the global list on-demand, and it is sorted by ID before delivering. Sounds like this is similar to the Blink implementation (https://github.com/Polymer/ShadowDOM/issues/504#issuecomment-55013158)

Is this reordering intentional?