Reland "Remove SkFontPriv functions related to "default" Typeface"

This is a reland of commit 5cd71bd5c60b23682b45896e17d747564073b3c5

Original change's description:
> Remove SkFontPriv functions related to "default" Typeface
>
> SkFont's inner fTypeface should always be non-null, although it could
> be empty (containing no glyphs).
>
> Most of the changes in this CL should be pretty mechanical. The exception
> is in SerializationTest, which was using private APIs which (I think)
> were not serializing an SkPicture correctly (the shared set of
> typefaces in SkReadBuffer was null, for example), which means the
> serialization of SkTypefaces did not match what SkSerialProcs said
> (that is, the default proc for SkTypeface should work).
>
> I don't expect this to change existing behavior (since clients should
> have been getting the empty typeface anyway due to the define
> SK_DEFAULT_TYPEFACE_IS_EMPTY), but I've been wrong before.
>
> Change-Id: I6e9b8699326b4ffe036085c2777689bd3d5f6686
> Bug: b/305780908
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/787440
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>
> Owners-Override: Kevin Lubick <kjlubick@google.com>

Bug: b/305780908
Change-Id: I808975d36b9a0df37367e36968e87300ff82b742
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/788456
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Owners-Override: Kevin Lubick <kjlubick@google.com>
28 files changed