Detect simpler quad type when possible

Previously, providing 4 SkPoints to draw as a quad meant the tessellator
used either kStandard or kPerspective, and couldn't use the faster
kRect and kRectilinear options. This had been simple and under the
assumption that most provided quad points would be from BSP splitting.

However, to emulate SkiaRenderer's required content_area clipping, the
content area is sent as the srcRect and the original geometry is stored
in the SkPoints. In these situations, the it is easy to detect that the
4 points make a rectangle and then relying on the CTMs matrix for the
quad type is perfectly safe.

Change-Id: Ib2b599fa9c82d275519e17cf813713806a565afe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206908
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
4 files changed