Also I'd guess that this is an area that's only recently been necessary to optimise in browsers.
_______
¹ Fun fact: It's a lot faster in IE than in Chrome ;-)
There's probably a tradeoff between the time it takes to set up those data structures, the time they'd save, and the time it takes to handle the pointer and hover events without them. Maybe it's not worth it.
Memory consumption would also be an issue.
The excuse I hear from people who understand this stuff properly is that the quake engine didn't need to have a top of the line text rendering engine running on every surface, and this is what makes visual effects in browsers so expensive.
Instead if you build an abstraction layer on top of the DOM that only exposes fast primitives you'll be better off.
On the other hand, it handled just that. No dynaming styling, no CSS, no DOM, ...
I believe the official system requirement was a Pentium 75, though in reality you could run it on a 486DX pretty well if you had a VESA local bus video card, etc.
(I think I remember running it pretty horribly on a 486SX, like 3fps...)
Oh, the memories!
[1] http://www.thecssninja.com/javascript/pointer-events-60fps/c... [2] http://www.thecssninja.com/javascript/pointer-events-60fps/c...