QuickSettings : Register/unregister cast tile one time

Don't do these operations every time the parent is visible/invisible,
it causes jank.

Repro:

Turn on wifi on a network w/ chromecast
Swipe down quick settings panel really fast

Change-Id: I3dfcd3610abe96e1bfdab06ef3b876ccf5140ceb
Add SET_WALLPAPER permission to SystemUI

If an exception is thrown in updateWallpaperLocked, a call to
WallpaperManager.clear() is made.  This requires the SET_WALLPAPER
permission and will throw a SecurityException if that permission
is not granted to SystemUI.

Change-Id: I61811b65dcfe8b15f0e9030f7aa6d1dc09cea351
IconPackHelper: Don't respect an icons original size if too large.

  - Otherwise, if an application isn't following app icon guidelines,
  it can create an OOM situation when creating the new icon based
  on the original resource's height and width.

Change-Id: I9430445da5e393cdbf76ed9ebd9698bf30df6a95
FWB: Custom scrolling values 1/2

ported/modified from https://gerrit.omnirom.org/#/c/4251/
originally written by Yanuar Harry <ai.the.smarties.physics@gmail.com>
revert