Implement Dynamic System Bars [1/2]

This commit implements DSB. Simple as that.

All the changes:
- frameworks/base (I3bc7102b2139fd1fa3de22aac096bd2a75bde878)
- packages/apps/Settings (Id2b105dfb3faf3cad74d0fa0dc33d01f6b71a853)

Change-Id: I3bc7102b2139fd1fa3de22aac096bd2a75bde878

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java
DSB: Check if drawable object is null when loading gradient

* Got an NPE this way:
  - Enabled DSB and right after enabled darker status bar mode.
    Check if mDrawable is null.
  - Log: https://imgur.com/eiKPpSG (don't look at code lines refering,
    is legacy source and there can be a few lines of difference).

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>