Implement SVG2's getStrokeBBox()

This patch implements getStrokeBBox() from:
https://svgwg.org/svg2-draft/single-page.html#types-__svg__SVGGraphicsElement__getStrokeBBox

The patch is mostly straightforward plumbing of the stroke bounding
box to javascript. This patch also contains a small cleanup removing
the unused StyleUpdateStrategy parameter from getBBox().

BUG=280423

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160684 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Split reflection out of RenderLayer.

This moves the reflection methods out of RenderLayer and into a RenderLayerReflectionInfo
class.

BUG=260898

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160685 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Change the line endings of testharness{,report}.js from CRLF to LF.

No change to the content of these scripts, hence no behavior change expected.

BUG=none
R=dpranke@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160686 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: Refactor to move interface-wide contents to v8_interface.py/interface.cpp

This CL simplifies v8_attributes.py and v8_methods.py to only generate
template contents for a single attribute or single method, moving the
interface-wide contents to v8_interface.py, in some cases inlining the
simple logic into interface.cpp.

This is more correct, as these are used at the overall interface level,
and better balances the code:
* it simplifies the already complex v8_attributes
* ...and soon to be complex v8_methods.py, and
* it makes v8_interface.py more than a thin wrapper.

BUG=239771
NOTRY=true

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

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