Move shell structures definitions of desktop-shell to the header
A very simple change: move the definitions of shell_surface to the header in desktop-shell.
- This is required if you want to extend desktop-shell with rail-specific modules (applist, other microsoft specific, etc.)
- the shell_surface of kiosk-shell is already defined in the headers, so it's not uncommon.
This is part of !1667