Add defensive code for crash in FontPlatformData
bug:
4163318
In FontPlatformData, both 0 and -1 are used as special values for
mTypeface. Skia has checks to handle null typefaces, but -1 is a
special value (hashTableDeletedFontValue) unique to FontPlatformData.
The constructors and operators appear to have the necessary guards,
but setupPaint(), uniqueID(), and isFixedPitch() needed some touchup
to better handle 0 or -1.
There's still the question of whether or not it's appropriate to be
calling any of those functions with the typeface set to 0 or -1, so
these changes may simply be deflecting the underlying problem, but
these changes should guard against the immediate failure.
Change-Id: Ib68a64ba6d4eeffbd502f29b68074e38c511a746