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