Reland "Manage renderCmdEncoder over lifetime of GrMtlOpsRenderPass."

This is a reland of 53a72c1b50e28004c3a90cb28ad1fbc06377b5ce

Original change's description:
> Manage renderCmdEncoder over lifetime of GrMtlOpsRenderPass.
> 
> Rather than create a renderCmdEncoder per draw, we create it up front
> and each draw just uses it. On a clear or upload we switch away and
> then recreate it.
> 
> Bug: skia:
> Change-Id: Ic6d612119ed3f7c41183d0186083deae14f96398
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270841
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

Bug: skia:
Change-Id: I0fe765a5fde7f6643adce2d5d5ab37c2ad930a5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271862
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
3 files changed