Fix uninitialized pointer read

The tip pointer could be used uninitialized when the device state
is unknown. Also tooltips are now shown for all device types rather
than just UPS and battery (i.e. for the mouse/keyboard icons). This
should prevent some confustion over what the other icons represent.