compsitor-x11: Report more accurate dimension of outputs

We use the X screen DPI to compute the X11 compositor output size,
which gives us a more accurate and useful value in the wl_output
geometry event.
animation: Fix the fade animation to work in both directions

We'll use this for fading out windows.
shell: Animate window closing

This provides an example of keeping a weston_surface alive after the client
destroys it.  We install a destroy listener for the resource, so that we'll
be notifified when the client destroys it.  Then we increase the weston_surface
refcount so that we keep the surface and initiate an animation.  When
the animation finishes we can finally destroy the surface.
shell: Only animate window closing for mapped windows

https://bugs.freedesktop.org/show_bug.cgi?id=76415
clients: Remove unused client-side resize tracking code
shell: Correct error message when we already have an xdg surface

It was referencing get_shell_surface, which is absolutely wrong.
clients: Remove the window / user parameters from the menu function

We want the ability to create a detached menu.
clients: Allow creating a "detached" menu

This will be used by the xdg_surface.show_menu_window implementation.
xdg-shell: Add set_surface_type request

This allows clients to set a hint about what kind of surface it is.
xdg-shell: Add show_window_menu request
custom
desktop shell window menu