Consolidate tessellation tolerance tracking into helper class

Moving it into the helper class serves a few purposes:
1. Consolidate the more complicated stroke vertex count calculations so
   that they can be reused between graphite and ganesh more easily.
2. Gives us an object that the PatchWriter can pass to its
   PatchAllocators that is itself not a template, so the allocators can
   be easily reused across different PatchWriter configurations.
3. Gives us a good place to start experimenting with tighter tolerance
   tracking (particularly around internal rotation and join rotation).

Bug: skia:13056, skia:13012
Change-Id: I6086d459a21ac7ab8e833a988cc7c403983c3dd2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537083
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
10 files changed