Simplify and optimize GrDrawVerticesOp vertex writing loop
Simplify and optimize GrDrawVerticesOp vertex writing loop

- Switch to using GrVertexWriter to eliminate bookkeeping
- Hoist the position transform out of the loop with a call to
  MapPointsWithStride. This lets us do the matrix type checking and
  proc lookup once, rather than N times.
- Remove another branch (local coords) by just making localCoord point
  at positions if they're not present in the mesh.
- Compute the stride directly from flags, paving the way for delaying
  the program info creation until onExecute.

Bug: skia:9984
Change-Id: I2b8b2ce60b3cd97361ae9562c0412b65251f58f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276483
Reviewed-by: Robert Phillips <95e8ac5504948c7bf91b22c16a8dbb7ae7c66bfd@google.com>
Commit-Queue: Brian Osman <794c0b5534edf5601d88e1d41975d0262da12894@google.com>

google/skia,aosp-mirror/platform_external_skia,google/skia,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,google/skia,google/skia,google/skia,google/skia,google/skia,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,google/skia,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,google/skia,aosp-mirror/platform_external_skia,google/skia