Fix display of icons in details view

 * Replace duplicated code for rendering icons for items
   in the item list and details view with an ItemIcon component
   which handles display of an icon plus listening for updates
   to the icon for an item.

 * Align item title and location centrally next to the item icon
   in the details view