Use an API version when installing runtime loadable modules

Using gnome-software 3.10.x plugins in a 3.11.x binary (and vice-versa) causes
all kinds of mischief.
Do not crash if an icon is set to an empty string
trivial: Do not show an empty box if there are no featured applications
trivial: Show the warning if the large icon failed to be loaded

This is probably another problem in the stack, but it's helpful to show
something on the console.
trivial: Use the whole name when refining ID->Item
Do not use a 'state-changed' signal on GsApp

We can use the existing property-changed mechanisms in a smarter way.
trivial: Do not show critical warnings when loading screenshots
trivial: Hide the screenshot thumbnails when showing fonts