Do not launch floating window when on default launcher

We only do this when user is on the default launcher
because if the user was on a non-default launcher,
he/she must have been there for some purpose and we
do not want to throw him/her back to the default
launcher incase he/she exits the app with HOME button.
Modify config to support app specific themes [1/4]

Summary of Changes
1. The configuration now supports each app to have their own theme.
Each theme can include icons, styles (ie overlays) and font.

2. The theme config is serialized into a json string and stored
in secure settings.  This entry consolidates what was previously 3 separate
keys (style, icon, font) into a single field.

3. 'CustomTheme' was renamed to 'ThemeConfiguration'.

Note: This commit is for the configuration. Additional work needs to be done to
the framework and UI to support app specific themes.

Change-Id: I6f72f542829578201c57c54786456486f6a6e2e3

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	services/java/com/android/server/am/ActivityManagerService.java
Add getThemedResourcesForApplicationAsUser()

Change-Id: I90b7cb441e4056f59b7260ffa55e31eba644e25a
Allow specifying a theme when creating a Context

A Context normally loads the resources associated with the given
package that this context is for.  This patch allows us to specify
a theme we want attached to a given context's resources.

Change-Id: I1e619f038566233bd89ee96eb8eb87fa6894e630

Conflicts:
	core/java/android/app/ContextImpl.java
Use systemui's applied theme for notifications.

Notifications contain RemoteViews which are inflated using the
application's context for which this notification belongs to.  This
can look out of place if SystemUI is using a different theme than the
rest of the system.

This patch will use SystemUIs theme when inflating the RemoteViews,
giving us a more consistent look in the notification drawer.

Change-Id: I9514ce7fcc4858bad3d3c4190f55c1f5a1441d7c

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
Themes: Add icon previews to ThemesContract

Change-Id: Icbfbee3404702a29881ad4933721d8beb39bef30
BaseStatusBar: Dismiss heads up on backpress.

Change-Id: I5b6191657cf0b74d825eb653a6e82c33e0527aad