[Autofill Assistant] Define highlighted area visually, round boxes again.

Before this change, a highlighted or touchable area was defined as a
list of elements to highlight.

How well this works depends on how the website is written. Often, there
is no element that exactly corresponds to the area of the screen we want
to highlight. Sometimes more than one elements are necessary, which
looks bad with rounding. Sometimes the elements that are necessary don't
touch, leaving strange gaps.

With this patch, a highlighted are is defined visually as a rectangle
containing one or more elements. This allows selecting arbitrary areas
on the screen that correspond to no single elements, to remove gaps and
avoid elements that shouldn't be highlighted.

This patch also allows defining a highlighted area as "full width"
instead of as a box, even though the elements might not cover exactly
the full width of the screen. This is useful as full-width highlighted
area are generally preferred.

This patch reverts change
https://chromium-review.googlesource.com/c/1397625 which removed the
rounding of the highlighted boxes.

Example 1:

before: https://screenshot.googleplex.com/RsWQbPXKegD.png
after: https://screenshot.googleplex.com/yaDQHYWywQC.png

Example 2:

before: https://screenshot.googleplex.com/agVH3LUer9j.png
after: https://screenshot.googleplex.com/u7Zq8pszfzW.png

Bug: 806868
Change-Id: I1a1e4ad1ec2dba3fe040ebe41fe29a0e18a2df59
Reviewed-on: https://chromium-review.googlesource.com/c/1409545
Commit-Queue: Stephane Zermatten <szermatt@chromium.org>
Reviewed-by: Mathias Carlen <mcarlen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624749}
18 files changed