shell: introduce shell_surface_purpose
shell: introduce shell_surface_purpose

Enumerate the different surface purposes for the shell: background, panel,
lock surface, and normal (other) surfaces.

Instead of testing wlsc_surface pointers against known pointers, check
the purpose field.

This change will ease implementing per-output background, panel, etc.
when the number of "known" surface pointers grows dynamically.

Signed-off-by: Pekka Paalanen <6c0263d81461c956d504307112a4ce25eaacc3d1@gmail.com>

xorgy/weston,mchalupa/weston,krezovic/weston,kwm81/weston,kwm81/weston,sir-murray/weston,Tarnyko/weston-xdg_surface_present,Fantu/compositor-spice,udoprog/weston,sir-murray/weston,krezovic/weston,Gnurou/weston,giucam/weston,giucam/weston,jonnylamb/weston,xorgy/weston,Fantu/compositor-spice,Tarnyko/weston-xdg_surface_present,udoprog/weston,eyolfson/weston,Gnurou/weston,jonnylamb/weston,mchalupa/weston,Fantu/compositor-spice,eyolfson/weston