Merge #173

173: Test version 2 and 3 features of zwlr_layer_shell_v1 r=AlanGriffiths a=wmww

Note that the major unstable version of layer shell is still 1, so all the changes are backwards compatible. The important change is the addition of a `.set_layer()` request. Tests are skipped on compositors that don't support a new enough layer shell.

Co-authored-by: William Wold <wm@wmww.sh>
Co-authored-by: Alan Griffiths <alan@octopull.co.uk>