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
(cherry picked from commit 4ce66cfe48d92241cbbdc5aaaa36b35baa647f2c)
(cherry picked from commit e53fdeee87a3a2c6d2f06c292c82822b9e2c928a)
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
(cherry picked from commit 0f2cd788c837616b22a09de4c2620adad12b16cb)
Merge tag 'android-4.4.3_r1' into HEAD

Android 4.4.3 release 1

Conflicts:
	Android.mk
	include/core/SkShader.h
	include/ports/SkFontConfigInterface.h
	src/core/SkBitmap.cpp
	src/core/SkTypeface.cpp
	src/core/SkTypefaceCache.h
	src/images/SkImageDecoder_libgif.cpp

Change-Id: I5bc5a94027922fbb096b7c43f4a56842674208e3
(cherry picked from commit c3aaa9c2be80263c86fcecaf095d7b9f7b76c34f)
TEMPORARY: Disable qc-perf

It needs to be updated for the new skia

Change-Id: I419f8238657541fb6640ef46192f534dbf3670ba
(cherry picked from commit ba7b7c43919edd92b601b56ec13124f09601ecd8)