Cross-browser `getBoundingClientRect()` for all Node types