SwitcherModel: allow to add/remove icons dynamically and update them when they require it
We keep hidden applications in a separated vector; when an application becomes invisible in switcher we need to move it to the hidden_applications_ vector, if it becomes visible again we put it back on the main model vector. Fixes: #1512349 Approved by: Andrea Azzarone