Bug 968156 - Store multiple icon references in app_window and places. r=...

...alive
The main difference is most of the icons we recieve wont have sizes, and the ones that do will often have duplicate sizes, also I want to make sure we are forward compatible in case there are additions like `type`