Base: Floating window with multitasking

basic floating window are taken from AOSPA (HALO) by @D4rKn3sSyS

Drawables courtesy of @Alex Cruz thanks to him :)

with heavy change to get this work for multitasking

this feature, has ability to:
1. Moveable window to various position
2. Scaling window with 2 finger like zoom in/out
3. Double tap in actionbar or above window to fullscreen or back to floating window
4. Automatically resize when Snapping into one of side (Top, Bottom, Left, Right)
   (taken from xhalofloatingwindow by @zst123)
5. Automatically switch focus from other app (taken from multiwindow by @xplodwild)
6. Unlimited floating window app (depends on RAM)

this is still under testing, to make fully works
so if there any bug because of this, DO NOT REPORT INTO OMNIROM JIRA

to make app launch using Floating window feature

you must add Intent.FLAG_FLOATING_WINDOW
before start an activity

for example you can look at https://gerrit.omnirom.org/6515

need https://gerrit.omnirom.org/#/c/6561

PS.17 : fix scaling
PS.18 : fix layout calculation when rotate
PS.19 : support minimize/maximize window (see App circle sidebar)
PS.20 : fix previouse app

Change-Id: Iad00c239de7d66e8bb45205ce626d4f08417b7cd

Conflicts:
	core/res/res/values/ag_strings.xml
	core/res/res/values/ag_symbols.xml
	services/java/com/android/server/wm/WindowManagerService.java
Dismiss IME when floating window is dismissed

Previously the IME would be stuck on screen if the
floating window was dismissed while it was showing.

Original id from PA gerrit -> Change-Id: I8ca61b07ed89bae85eabd8db23f87b6f1f0b179f
Signed-off-by: Evan Anderson <evan@thelinuxman.us>

Change-Id: If38e65f61ba309d22306bf4b37c3c55630c006ed
Recents: Launch as Floating App

Change-Id: Id087a3a0b38ffa637ad9d97647eff6a02d241006

Conflicts:
	packages/SystemUI/res/menu/recent_popup_menu.xml
	packages/SystemUI/res/values/cr_strings.xml
Fix for launch app in floating mode from recents

Change-Id: I44ff5f56e66c09065eae15d00d59248999536521
Keep app when opening floating window from recents panel

Start activity asynchronously by appending it to system's
message queue to let RecentsPanelView cleanly execute
dismissAndGoBack before the floating window gets started.

Change-Id: Ie58ddc81b4ea897b4243404a58fae47583e49e1a