Windows are not always unmapped when they are destroyed: make sure we remove the window from the window models also in SurfaceAboutToBeDestroyed.
Note: this means that when unmapped is called before SurfaceAboutToBeDestroyed, we will try to remove the window twice from the models.

Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>