create a unique observer for each ShadowRoot or Document so detached nodes with shadow roots can be collected
Merge pull request #131 from Polymer/fix_observer_leak

create a unique observer for each tree so detached nodes can be GC'd