change path serialization version to 4

New format should be much simpler:
- only store public data (e.g. points, verbs, filltype)
- deserialize just uses public APIs

Refactor reading code to manage different (older) versions, to make
it clear (hopefully) what we can delete when we can abandon version
3 support.

Bug: skia:
Change-Id: I30465f891cba3f044ae1cb2c13c04f04fdc9da78
Reviewed-on: https://skia-review.googlesource.com/109160
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/gn/core.gni b/gn/core.gni
index 72e12c2..00f6b73 100644
--- a/gn/core.gni
+++ b/gn/core.gni
@@ -213,6 +213,7 @@
   "$_src/core/SkPaintPriv.cpp",
   "$_src/core/SkPaintPriv.h",
   "$_src/core/SkPath.cpp",
+  "$_src/core/SkPath_serial.cpp",
   "$_src/core/SkPathEffect.cpp",
   "$_src/core/SkPathMeasure.cpp",
   "$_src/core/SkPathPriv.h",