Set up `style` mutation monitoring

Fixes #2008
This works by storing the style and its copy onto the component, and do the appropriate comparison during `_updateDOMProperties`.