ivi-shell: ivi-shell.c, remove wl_resource_destroy

> vi_shell_surface,

>   + surface_destroy_listener); + + if (ivisurf->resource) { +
> wl_resource_destroy(ivisurf->resource);

You cannot do this. The client is destroying the wl_surface, not the
ivi_surface. Calling wl_resource_destroy() here creates a disagreement
between the server and the client on what protocol objects exist. It
inevitably leads to a protocol error if the client attempts to destroy
the ivi_surface after the wl_surface.

Instead, you need to detach all listeners etc. from the weston_surface
here, and set ivisurf->surface = NULL.

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>