Per our discussion at the WebKit Contributors conference:
1) blow away current implementation of SVG shadow tree
2) implement clone-boxes: a Node can be represented by any number of
RenderObjects in various places in the tree. These trees can be
constructed either by cloning an existing RenderObject subtree or just
creating it from scratch from DOM (probably easier on the short term)
3) implement SVG shadows using clone-boxes.
This way, when creating an SVG instance, we actually just create a
rendertree chunk, with node pointers referring the original elements.
Event handling is now crazy-simple. Hit-testing finds a box, then goes
straight to the original element, since it RenderObject::node() is
Similarly with styles, the styles are computed using the original
elements and propagate to the instance rendertree chunks using shared