Crossbrowsing implementation of DOM mutation observers