fix bug in worst case point count in GrHairLinePathRenderer

in both computing worst case num of points and during actual tessellation,
we must map the path with canvas's view matrix.
do not use GrOvalRenderer if paint has MaskFilter or has path effect
bug fix for join and cap for GrShapePathRenderer

fix bugs for round join and caps for GrShapeStroke
Do not use GrOvalRender if Ellipse has rotation or perspective transformation
do not use GrShapPathRenderer if fill type is inverse

We could do better.  Instead of faling back to GrDefaultPathRenderer,
we could first clear stencil with (1) and then write 0.  But for time
being, let's fallback
bug fix for batch image shader.

This only applies for draw rect.
bug fix for batch image shader in drawCircle
bug fix for batch image shader in DIEllipse
bug fix for batch image shaer in draw rrect
do not use drawRect/drawRRect if path is inversed fill or is not closed
fix path problem in SkLIghtDeferredCanvas
return full layer save strategy from SkLightDeferredCanvas