Create shell surface only for dialogs, popups and regular windows

Other window types don't need a shell surface.
Also, windows can set the "custom" window property to indicate they
don't want the shell surface.