[magneto] rewrite systray icons management, improve KDE, GNOME and MATE integration

This huge commit addresses several things:
- Fix bug #3995
- Force the GTK2 frontend when MATE is running
- Migrate to KStatusNotifierItem for KDE and hide the icon whenever
  it makes sense.
- Use SVG icons in the GTK3 frontend, improving eye candy when running in GNOME3
- The usual cruft cleanup