Do not emit Surface::leave twice when an output is removed
It was being emitted when disabled and then when the disconnect signal was received. This makes sure it only happens once. This was breaking kwin's testOutputManagement as remove is sent then the surfaces clean themselves up as well on the server side.