Delete resources in XdgOutput teardown
Generated code typically cleans up resource objects when the client calls the relevant destructor.
In multi-cast mode our wrapper can be deleted at any time, whilst a client resource exists any existing resources that have a pending message will then crash the compositor.
Deleting resources ahead of time also resolves this. calls to this resource will no-op. The zxdg_output_v1::destroy_func will then be called to delete the Resource object.