[SVG] SVGAnimatedPath migration to new SVG property impl.

This CL replaces SVGAnimatedPath with NewSVGProperty based implementation.

SVGPathSegList now keeps track of its ByteStream representation by itself. Previously this was kept by SVGPathElement.

SVGPath*{Source,Builder} interfaces are refactored to allow their allocation on stack. They are small enough to be stack allocated on the fly when needed.

This change keeps the original SVGPathSeg and use it directly without tear-off. However, SVGPathSeg should also be wrapped by tear-off in future, as this design allows modifications of animVals, which is against the spec.

The SVGPathSeg change notification path is also unchanged. When a list item SVGPathSeg is modified, SVGPathSeg::commitChange() notifies to the context SVGPathElement, then the SVGPathElement notifies it to SVGPathSegList. This should be changed when SVGPathSeg is migrated to a NewSVGProperty.

For details, see design doc: https://docs.google.com/document/d/1bg7CUyUszqdwmENY3JX6_PoQD6uHRCNcRPJMlC4qlkw/edit?usp=sharing

BUG=308818
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@167574 bbb929c8-8fbe-4397-9dbb-9b2b20218538