Add blur support in caching

Fixes some flickering issues:
* Add blur metadata into LayerState
* Only cache a layer that requires blurring if all layers below it are
part of the same CachedSet to avoid caching part of, but not all of, the
blur

This doesn't preclude caching intermediate blurs: e.g., the blur radius
of a layer does not change, everything else below the layer does not
change, but some other property of that layer changes - ideally this
layer should be cached, but is not currently supported in this patch.

Bug: 186692925
Test: Notification shade blur overlayed on Maps
Test: Notification shade blur overlayed on Wallpaper

Change-Id: I2f112927accc35cab406292486890fe41423d022
10 files changed