Frameworks: navigation bar IME cursor

Old idea from AOKP revamped for kk 4.4

- permanent option (not configurable) due it is very usefull
- left arrow single press = cursor left; longpress = cursor one line up; longpress hold = faster several lines up
- right arrow same as left arrow but opposite directions
- accessibility events added
- transistion added

PS;
- add other flag handling
PS
- enable haptic feedback

rebase

Change-Id: If08904cb709b5969cac451515ec661adbcc1887c

Conflicts:
	packages/SystemUI/res/values/liquid_strings.xml
Frameworks: notify arrayadapter early that data has changed on clear all

Recent clear all. Current behaviour is that we do not update the array adapter at all
due that it gets rebuild on next reload. But in very rare cases it happens that getView
want to update shortly after all is cleared althought the view is not visible anymore.

Whatever just call notifyDataSetChanged after List is cleared to work against it.

Change-Id: I61ca25358ebe164336ba349565459537861c5495
Frameworks: do not kill favorite recent apps

Due of a lot user requests and I basically like the idea (not a fan of clear all apps at all
due that it does not make sense android wise) we ehance the favorite recent apps feature.

This commit basically does not remove the apps from the task list which were marked from the user
as favorite.

3 possibilities:

- No favorites are in the task list - clear all behaves like it was before - all tasks cleared and panel closes

- favorites and non favorites are in the task list - clear all removes all non favorite tasks and favorite tasks stay.
  Yes without fancy animations....we want to be fast ;) - panel stays open

- only favorites are in the list - pinch to zoom out is blocked due that nothing is there to clear all.

single clear of a task with swipe behaves in all cases normal like it was before this change

Change-Id: Ia05562e0f59dfb023aa65ec3a40dd951594dc88e
Frameworks: SlimRecents: user configurable default expanded mode (1/2)

A lot requests to customize the default behaviour

auto = like it is now....dependend on the overlay the first tasks are expanded other collapsed
always = always all expanded
never = always all collapsed

Of course still user changes directly in the recent panel counts more then the default settings
behaviour

PS
- correct code comment to new behaviour
PS
- fix typo

rebase

Change-Id: I468be296de3c50d0036d2805c0d0cb8e54248e57
SysUI: Don't recreate controllers.

The various controllers, such as mLocationController, get recreated
every time the status bar is recreated due to TRDS.  We
should only need to create these if they are null, otherwise use
the controller as is.  Also, each of these controlers registers
themselves as a broadcast receiver and are never unregistered before
recreating them.

Change-Id: I6215aae5a82b7ced8f0f25cf592a804d38825260