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.