Bug 838758: Cache GradientStops instead of gfxPattern. r=jrmuizel

Our gfxPattern cache is currently way too specific, which causes lots of
unnecessary cache misses. The only thing that we actually need to key on is the
color stops.

This switches the cache to hold GradientStops instead of gfxPatterns. This
improves our cache hit rate and is simpler. It also avoids doing caching when
not using Azure, which currently has no benefit.

Average paint times results (in ms)
(on windows 7 x64, i7-3630qm, HD4000)
-------------------------------------
m-c
open: 3.5 close: 3.3

m-c cache-key
open: 2.6 close: 2.4

ux
open: 7.3 close: 5.2

ux cache-key
open: 6.9 close: 5.3
Bug 837271 - part 1 - add means to control computation of extended statistics to histogram code; r=vladan
Bug 837271 - part 2 - add extended_statistics_ok mechanism to histogram machinery; r=vladan
Bug 837271 - part 3 - flag histograms as OK for extended statistics computation in Histograms.json; r=vladan
Bug 837271 - part 4 - add test for extended statistics not being recorded; r=taras
bug 841706 - remove nsSelectionIterator r=smaug