use SkSerialProcs to avoid including private headers

These procs supercede SkPixelSerializer and SkImageDeserializer.
See https://docs.google.com/document/d/1VcqNM_dukn3egke_m7YeMUf_kwHY37fDdftZtp7H0oc/edit#heading=h.9jbrzffapovp

One change in behavior is that Skia never serializes raw/decoded images.
- If there is no serialproc for images, skia stores png (or some other std loseless format)
- If there is a serialproc, then skia stores whatever it returns.

The chrome functions in skia_utils_base that serialize/deserialize flattenables now perform the following:
- serialize: force any images to be re-encoded (as png), so no native encoded data is transmitted
- deserialize: nothing fancy to do, since all (png) encodes should be fine

Bug: 
Change-Id: I4d3d45efafc5c07dad0b55a4a4fffe6095674a49
Reviewed-on: https://chromium-review.googlesource.com/814220
Commit-Queue: Mike Reed <reed@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523769}
3 files changed