Add state tracking for plugins

Because now plugin widgets can be visible while the IP Connection does
a reconnect, the state previous handling by disabling all tabs is not good
enough anymore. Keep track of which plugins are running, so they can be
properly paused at the start of a reconnect and restarted after a reconnect.

Also tracking the currently selected tab by index to stop its plugin on
deselection is not good enough anymore due to reorderable tabs. Keep
track of the info object of the current tab instead.

Also ensure that all plugin widgets have a proper icon.

To simplify info lookup from the plugin widget attach the info object to
the widget directly instead of the UID.