Generalize computation of stroke bounds for LayoutSVGShape

Store the (stroke) geometry class in the LayoutSVGShape. This allows us
to compute stroke bounds in a slightly less "context-aware" way. This is
a step on the way to break up UpdateShapeFromElement into several steps.

We can also get rid of LayoutSVGPath::HitTestStrokeBoundingBox since we
now carry the information it provided in the geometry class.

The geometry class also replaces the LayoutSVGShape::affected_by_miter_
so it is removed, and replaced with a new kNoMiters class type.

Bug: 435097, 493888
Change-Id: I422b72451c6cea8045dea547a500984863e83a8d
Reviewed-on: https://chromium-review.googlesource.com/c/1288359
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601081}
6 files changed