Framework: Add Power Widget (Phone)

This commit adds the Power widget for phones.  All toggles should work
except for LTE (disabled for now)

PowerWidget: Make widgets stationary like everything else in the tray

Before patch: widgets move up with the grab bar (and get smashed a bit)
https://dl.dropbox.com/u/1077120/Android/Screenshot_2012-09-13-18-19-39.png

After patch: widgets disappear behind the grab bar, like everything else
https://dl.dropbox.com/u/1077120/Android/Screenshot_2012-09-13-18-23-52.png

Signed-off-by: Paul Beeler <sparksco@gmail.com>

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/public.xml
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
Modified Quicksettings to act just like Power Widget. Fixed Power Widget Sleep toggle with the help of Danesh M and David van Tonder

The code for QuickSettings has been rewritten using quicksettings.QuickSettings and QuickSettingsController classes.

Patch set 1-15: 	Original commits
Patch set 16:   	Re-arrange button order
Patch set 17-20:	Rewritten toggles

Signed-off-by: Paul Beeler <sparksco@gmail.com>
Framework: Forward port Power widget fixes and fix disabling

This commit fixes the ability to disable/hide the power widget on CM10.1, hide
the widget by default and forward ports a few other related fixes:

Author: Danesh
1) Notification Widgets : Fix vibration
The initial value of the array determines how long till the vibration starts,
and second value determines how long to leave it on till.

Since config_virtualKeyVibePattern is in an overlay and we cannot rely on its consitency,
we check the length of the array, and based on it execute the appropriate vibration.

2) NotificationPowerWidget : Snap widgets
Snap widgets in place, rather than allowing partial widgets

3) Framework Track Control : Switch from broadcast to audio service
Ordered broadcast is unreliable. Switch to using the Audio Service's
dispatchMediaKeyWithWakeLockToAudioService as it sends the event to the correct receiver.

4) AutoRotateButton : Minor cleanup
Use setRotationLock to avoid code duplication and staying consistent with framework

Signed-off-by: Paul Beeler <sparksco@gmail.com>