Gesture Anywhere: Add gesture anywhere feature into the ChaOS Lab [1/2]

When enabled a user can activate the gesture anywhere view by touching
the designated trigger area.  If a gesture is recognized as one the user
has created and assigned to an action, that action will be performed.
Since this is part of the system UI and implemented as an overlay, it
will be available and usable system wide, with the exception of the
keyguard for obvious reasons.

Change-Id: Ic47abb7531cecbdd33d344b9a32402f6ffed7163
Gesture Anywhere: Adjust position on orientation change.

Also added hiding home, recent and search from navbar when
showing the GestureAnywhere view.

Change-Id: I1dd13f38af265d6966441f2cd99b78ea9b3d4d90
Gesture anywhere: Collapse if expanded when screen turns off.

Change-Id: I85c749182dab9e478d7337b3556c362eaa7dd74d
Identicons: Add identicons to ChaOS Lab [1/3]

When enabled, new contacts will be assigned a unique
5x5 identicon as the contact photo instead of the boring
default one.

PS2:
Make Identicon an abstract class so we can use it to
create different types of identicons.  For starters
we'll use the github style in GithubIdenticon.  This
opens up the door to other types.

PS3:
Season with some salt.

PS4:
Use PNG format and tag it using an iTXt chunk before the
IEND to tag it with "identicon_marker" indicating it is
an identicon.  We can use this to identify if a photo is
an identicon and if so do what we want with it, like
removing identicons.

PS5:
We'll stick with JPG format and add a comment block to
the end.

PS6:
Better...stronger...faster.

PS7:
Add the dot matrix identicon

PS8:
Rename PolkaDotsIdenticon to DotMatrixIdenticon

PS9:
Clean up for release and add proper ChaOS Lab annotations.

Change-Id: I95fdca30686a2993ba5c2a9024a3cf5935b5d360