Fix calling virtual methods in Window destructor
When a window is removed from the deleted list, some effects can perform cleanup. In its turn, it means that they can call some Window methods.
If those methods happen to be virtual, kwin can crash because calling virtual methods in the destructor of a base class has undefined behavior.