core: reset view->handle/desktop_surface when destroying a desktop surface
core: reset view->handle/desktop_surface when destroying a desktop surface

If we leave those fields as is, and a plugin keeps them for a while
longer, then there is the possibility(because the desktop_surface will
        be freed), that another one is created at the exact same memory
address. When we add the "new" DS at this address, we would actually
have two views(one with invalid handle) which share this DS address, so
a consequent desktop_surface_committed or similar might work with the
old view(see core->get_view(weston_desktop_surface*)), resulting in a
crash. With this commit this should be fixed

ammen99/wayfire,ammen99/wayfire