SkPDF: unify Canon and Document

motivation:  The Document has become intrusive enough that we almost
always have a pointer to the Document on hand anyways.

Also: update document.

Also: forward declare more things in headers.

Also, don't try to clean up resources when abort() or close() is called.
It is easy enough for the client to delete the Document when done.

Change-Id: I21aeed37f26ba16d68af041d9317adf00e9a61f2
Reviewed-on: https://skia-review.googlesource.com/c/180646
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Herb Derby <herb@google.com>
diff --git a/src/pdf/SkPDFFont.h b/src/pdf/SkPDFFont.h
index d970c44..2ba20c0 100644
--- a/src/pdf/SkPDFFont.h
+++ b/src/pdf/SkPDFFont.h
@@ -8,7 +8,7 @@
 #define SkPDFFont_DEFINED
 
 #include "SkAdvancedTypefaceMetrics.h"
-#include "SkPDFCanon.h"
+#include "SkPDFDocument.h"
 #include "SkPDFGlyphUse.h"
 #include "SkPDFTypes.h"
 #include "SkStrikeCache.h"
@@ -93,10 +93,10 @@
      *  @return nullptr only when typeface is bad.
      */
     static const SkAdvancedTypefaceMetrics* GetMetrics(const SkTypeface* typeface,
-                                                       SkPDFCanon* canon);
+                                                       SkPDFDocument* canon);
 
     static const std::vector<SkUnichar>& GetUnicodeMap(const SkTypeface* typeface,
-                                                       SkPDFCanon* canon);
+                                                       SkPDFDocument* canon);
 
     void emitSubset(SkPDFDocument*) const;
 
@@ -104,7 +104,7 @@
      *  Return false iff the typeface has its NotEmbeddable flag set.
      *  typeface is not nullptr
      */
-    static bool CanEmbedTypeface(SkTypeface*, SkPDFCanon*);
+    static bool CanEmbedTypeface(SkTypeface*, SkPDFDocument*);
 
     SkGlyphID firstGlyphID() const { return fGlyphUsage.firstNonZero(); }
     SkGlyphID lastGlyphID() const { return fGlyphUsage.lastGlyph(); }