Add support for CMHome (2/2)

All installed DashClock extensions on the device will be represented
with a card for each. They can be swiped away or clicked to view
additional options. Cards are refreshed upon returning to CMHome.

Change-Id: Ic2a735bb6c7a450ee72ab1abce31961bd0ccd90d
Fix bug where extension icons would not be updated

When extensions publish new data to CMHome, they can change the icon
resource. Previously, this would never be updated in the card until the
application was restarted. Now icons will be updated immediately when the
resource changes.

Change-Id: I4b1f41006ee7c27378b894c125dcf436a1ba5093
Prevent cards from being swiped left (2/2)

Specify that cards can only be swiped to the right, so that a left swipe
motion will always return the user to Trebuchet.

Change-Id: I8a749b599a772f9e71203ce1aae8b8cf1eab1091
Change to respect DashClock extension visibility.

Update DashClock Extension support to respect the visible parameter of
extension data, so that invisible extensions are hidden from the card
list, reappearing if they become visible later.

Change-Id: I7767985659f24d5aed304ebbdc1e133d47f18d9d
Fix bug that displayed incorrect extension icons.

Cardslib caches the thumbnail image of each card in a Map. Previously,
we used the resource id of the DashClock extension as the key, but this
can result in a collision across multiple extensions. Change the key to
be ComponentName String + Resource ID or URI of the image.

Change-Id: I870ad155e64c42645240aac2c2984c336bae2fef
CMHome: Make app name translatable

Change-Id: Ib8dab1b279576b98ca27aa651675ded283217176
CMHome: Cleanup translatable resources

Change-Id: I6605cf773508a2410c8b39baa6b894be3ddccd19