Add MutationObserver

MDN: https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
W3C: http://www.w3.org/TR/dom/#interface-mutationobserver

Looks like MutationObserver is an experimental API ([from the list](https://developer.mozilla.org/en-US/docs/Web/API)), but it seem to be supported by all modern browsers, and other experimental APIs like [AnimationEvent](https://github.com/scala-js/scala-js-dom/blob/master/src/main/scala/org/scalajs/dom/lib.scala#L6281), [DOMParser](https://github.com/scala-js/scala-js-dom/blob/master/src/main/scala/org/scalajs/dom/lib.scala#L5278) are already in scala-js-dom.

@sjrd IIUC, would be like this?

```
object MutationObserverInit {
  def apply(childList: Boolean, attributes: Boolean, characterData: Boolean, subtree: Boolean, attributeOldValue: Boolean, characterDataOldValue: Boolean, attributeFilter: js.Array[String]): MutationObserverInit = {
    js.Dynamic.literal("childList" -> childList, "attributes" -> attributes,
      "characterData" -> characterData, "subtree" -> subtree,
      "attributeOldValue" -> attributeOldValue, "characterDataOldValue" -> characterDataOldValue,
      "attributeFilter" -> attributeFilter).asInstanceOf[MutationObserverInit]
  }
}
```