This change mimics the wlroots protocol meson.build. It replaces
meson generators with custom_targets, which will only run wayland-scanner
once per output file.
The idle protocol is not used by any clients, so its client protocol
header is not generated.
The check for the availability of the private-code scanner options has
been removed, since the wlroots dependency requires wayland >= 1.16.
Swayidle handles idle events and allows
for dpms and lockscreen handling. It also
handles systemd sleep events, and can
raise a lockscreen on sleep
Fixes#541