Only force purge all when clearing singleton interface

Fix for CYAN-4047

Always forcing the typeface cache to be purged can lead to system
lock ups.  It should only be forced because of a font change, in
which case we want the entire cache purged and then reloaded with
the new fonts.  Calling this any other time should have force set
to false, i.e. when Canvas calls PurgeAll().

Change-Id: Ibdeeeaa1ee67270da365b69c63c9c4914d60374e

Conflicts:
	src/core/SkTypefaceCache.h
Fallback to system's monospace font if theme excludes it

We should always have a monospace font available and if a theme
does not provide one the system's monospace font should be used.

Change-Id: Iaadf2f2c4d0dd7dd46d1eb58a687281440d70227
Themes: Add system font families missing from theme

A theme's fonts may not include all the families defined in the
system's system_fonts.xml.  If a system font family is missing
from the theme's fonts, we add it.

This works for missing monospace fonts as well as other families,
such as serif.

Change-Id: Ib2a71fab582cfdf54f4d374d0c32cfebfaa1564f
Theme fallback font derp fix.

Change-Id: I1c5134ca6cc3244ad409dc5450f3f10f18ca18c5