consolidate SkBinaryWriteBuffers

It looks like the attached bug is about stack overflow when
constructing the two SkBinaryWriteBuffers (on the stack).

I can't find any really obvious reason we need to keep the
path effect and the mask effect separate here any longer,
so I've consolidated into a single buffer and tag for both.

Minor refactoring: static, const, etc.

Bug: chromium:891693
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I48c411968b62633f13a83e24c3a202a457485b6d
Reviewed-on: https://skia-review.googlesource.com/c/161160
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
diff --git a/src/core/SkWriteBuffer.h b/src/core/SkWriteBuffer.h
index 011977c..168b518 100644
--- a/src/core/SkWriteBuffer.h
+++ b/src/core/SkWriteBuffer.h
@@ -122,8 +122,8 @@
     void writeTypeface(SkTypeface* typeface) override;
     void writePaint(const SkPaint& paint) override;
 
-    bool writeToStream(SkWStream*);
-    void writeToMemory(void* dst) { fWriter.flatten(dst); }
+    bool writeToStream(SkWStream*) const;
+    void writeToMemory(void* dst) const { fWriter.flatten(dst); }
 
     void setFactoryRecorder(sk_sp<SkFactorySet>);
     void setTypefaceRecorder(sk_sp<SkRefCntSet>);