Fix randomly disappearing icons (cache logic flaw)

Actually, there were two sublte bugs here:
- The indicator code stubbornly adds every retrieved icon again,
  which caused the cache to destroy it
- The status icon code accidentally destroyed the cached icon when
  the indicator is being hidden