serious SkEdgeBuilder refactoring

This splits the three logical types of SkEdgeBuilders
into distinct C++ types, with some shared logic.

Looks like this cuts another 10K off Flutter,
including that 8K table.

Change-Id: I0c901de8b0bb70b9a9dce07683110177a287b0ee
Reviewed-on: https://skia-review.googlesource.com/c/164626
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
5 files changed