[IntersectionObserver] Refactor IntersectionGeometry

When IntersectionGeometry was carved out as a class, it was thought
that it would be useful in contexts other than IntersectionObserver.
That has since proved to be mistaken; a number of bugs cropped up
due to IntersectionGeometry being used at the wrong time in the
document lifecycle.

This patch adds more IntersectionObserver-specific functionality into
IntersectionGeometry, and moves the source into the same directory
as the other IntersectionObserver-related classes, where it belongs.

No functional change.

Change-Id: Ib5583b5ed5ac2a053ee53b9df11f05012c6d15c3
Reviewed-on: https://chromium-review.googlesource.com/c/1461832
Commit-Queue: Stefan Zager <szager@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631506}
8 files changed