Don't make new sub-path in Path::addArc().

Path::addArc() creates new sub-path because it uses SkPath::addOval() that calls
moveTo() and close() internally. We can't use SkPath::addOval() because we can't
know whether this path object can close now.

Currently, only arc() and ellipse() in CanvasPathMethods use Path::addArc(), so
we can trust that endAngle - startAngle < 4Pi and anticlockwise is consistent
with the sweep angle. To trust CanvasPathMethods, this CL makes
CanvasPathMethods adjust startAngle and endAngle before Path::addArc() is
called.

BUG=248167

TEST=canvas-arc-circumference-fill.html

Review URL: https://chromiumcodereview.appspot.com/23495009

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