Support edge-inclusive intersections in mapToVisibleRectInAncestorSpace

Edge-inclusive geometry means that if two rects have a zero-area intersection -- either because they overlap at an edge or point, or because one or both of the rects is zero-area -- the zero-area intersection will be used and propagated.  Previously, a zero-area intersection was always treated as not intersecting.

BUG=540428
R=chrishtr@chromium.org,ojan@chromium.org,esprehn@chromium.org

Review URL: https://codereview.chromium.org/1817693002

Cr-Commit-Position: refs/heads/master@{#383186}
22 files changed