Frameworks: Fix memory leak + cleanup

Do not create new Objects onDraw + cleanup

Change-Id: Id1dc9ae85ccf820f2047528e12c4ecdc525f12d2

Conflicts:
	packages/SystemUI/src/com/android/systemui/BatteryCircleMeterView.java
Frameworks: Fix linked volume does not persist after reboot.

The controling boolean value must be set before updateStreamVolumeAlias
is called first time. Otherwise updateStreamVolumeAlias will assume
it is always false till user toggle it in settings again.

Change-Id: I53455249909fa6ad69fa0ea6930f9065e5a14fdf
Frameworks: fix possible NPE + and missing expandable panel

Steps to reproduce for NPE:
- go into volume style settings
- switch to disabled
- switch to expanded
- NPE and hotreboot

Fix:
Check if mStreamControls is initialized and if not lock it and do it.

Steps for expandable error:
- go into volume style settings
- switch to disable
- press one time the volume button
- change to expandable
- change the volume and press the expanded icon
- result is it does not expand and is empty due of the missing volume panels.

Fix:
- if it was changed from disabled to expanded be sure that the additional volume panels
are recreated.

PS:
- fix another exception

Change-Id: I58d63d34f831b6a6f60f6eddb3a07fc916d464f3
Framework: Lockscreen Slider Logic && Fix

Part 1: Keyguard array points directly to
	unlock handle and unlock handle
	ONLY.  Assist/Camera intents will
	never be used. It seems this logic
	in the code was devalued %100 by
	an array change that we'll never
	take advantage of.  I assume this
	was done so OEMs can revert the
	array and get camera/assist
	slider targets with minimal effort.

Part 2: Fix unlock icon colorizing if user
	lock targets are null.

Change-Id: I58206829de03828c7a0b838a4bbc56dbbc33c0c9
FaceUnlock: Check if faceunlock is disabled

JIRA: CYAN-3622
Issue: https://jira.cyanogenmod.org/browse/CYAN-3622

Change-Id: Iaf656f1aecb72610a46183294de25151e8df4b05
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>