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