Rename before_remove_attr and after_set_attr to allow reusing those names in the next commit.
Add support for trait-based virtual methods on Nodes, and use it for before_remove_attr and after_set_attr.
Integrate Element's after_set/remove behaviour into the virtual method hierarchy.
Add overridable tree binding/unbinding behaviour.
Remove the IElement trait.
auto merge of #2087 : Ms2ger/servo/vtable2, r=jdm

Fixes #1527. Does *not* include the code for #1528.

(Originally by @jdm in #1688 and #1866.)