Support Canvas Clip on Blit Framebuffer

The previous fix to blit framebuffer didn't take cases where
the canvas had a clip applied into account. Fix and update
the unit test to add this case.

AND

Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup

Crurently, when preparing a texture for blitFramebuffer, we ignore the
kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to
copy from one src rect to a different dst rect.

This change updates initDescForDstCopy and setupDstTexture to allocate
larger textures if necessary and accomodate this flags requirements.

Bug: 658277, 658277

NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true

Change-Id: I36a54072ee15d035249ef0b0f6cf512e791dd218
Reviewed-on: https://skia-review.googlesource.com/13085
Reviewed-by: Brian Salomon <bsalomon@google.com>
9 files changed