compositor: change the active surface when changing workspace

The active surface will be changed if the old workspace is not
visible on any output anymore.
compositor: delete output's references when removed