Adding MutationObserverInit options

This PR allows users to specify their own observers options.

The use-case is quite simple, you might not want to be called on attributes update, or on descendants updates.
I used [MDN MutationObserver](https://developer.mozilla.org/en/docs/Web/API/MutationObserver) page as a reference to implement all optional valid paths.

In order to be backward compatible with previous versions, I activated both `childList` and `subtree` by default.