I spotted some functions that definitely don't need to be virtual. I think firstChild and lastChild are pretty big wins -- there's a way for them to be virtual in Node, but non-virtual in classes like Element.
Created attachment 14379 [details] patch
Created attachment 14380 [details] patch with change log
Comment on attachment 14380 [details] patch with change log r=me
Committed revision 21278.
Mass moving XML DOM bugs to the "DOM" Component.