Reduce non-QtCore dependencies.
Don't use QFileIconEngine in non-GUI applications.

Crashes inside Qt otherwise.
Don't bother converting empty icons to pixmaps.

That fixes a runtime warning in non-GUI applications where we are not
allowed to create pixmaps.
Don't emit connectionEstablished() multiple times.

Fixes various crashes when objects are added/removed while we are already
connected.