[Sanitizer] Reland: Implement core Sanitizer data structures + logic.
This implements the core Sanitizer logic. This is still missing
spec-mandated handling of "javascript:" URLs, and will have to be
updated as the spec develops. But other than that, the basics are now
there.
This a re-land of crrev.com/c/5922125. Patch set #1 is the original version,
as reviewed and submitted there. Patch set #2 contains the fix. Analysis of
the bug is in https://issues.chromium.org/issues/356601280#comment16
Bug: 356601280, 379235386, 379246316
Change-Id: I06d4a9a378330cc76015e3922b9e288d9503881a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6021482
Reviewed-by: Yifan Luo lyf@chromium.org
Reviewed-by: Joey Arhar jarhar@chromium.org
Commit-Queue: Daniel Vogelheim vogelheim@chromium.org
Cr-Commit-Position: refs/heads/main@{#1385522}