Listen for the destruction of the focus surfaces' resources

With the new delete guard a QWaylandSurface survives for some time after
the destruction of its wl_resource, so have the wl_keyboard, wl_pointer and
wl_touch objects watch for the destruction of their focus surfaces to avoid
using them after the destruction
Check if the surface is valid before setting it as focus

A surface may get its resource destroyed and during the time it takes to
be destroyed it must not be set as mouse of keyboard focus.
Merge pull request #53 from giucam/crash_fix

[compositor] Listen for the destruction of the focus surfaces' resources