Skip ItemIcon refreshing while not visible, now deferred to when the inventory opens
Before, any hidden icons would refresh on inventory changes, for example updating their amount and hover text every time you shot a gun
Also avoid some unnecessary OnItemAmountChanged broadcasts and hover text rebuild if data didn't change