wayland: add support for content-type protocol
The content-type protocol allows mpv to send compositor a hint about the type of content being displayed on its surface so it could potentially make some sort of optimization. Fundamentally, this is pretty simple but since this requires a very new wayland-protocols version (1.27), we have to mess with the build to add a new define and add a bunch of if's in here. The protocol itself exposes 4 different types of content: none, photo, video, and game. For mpv, we of course send video by default but it is certainly common to view images/photos as well. Additionally, maybe the compositor is bugged in some way and one would like to turn this off. In light of that, a new option has also been added (wayland-content-type) that lets users control what content hint to send to the compositor. For completion's sake, game is also allowed here, but in practice there shouldn't ever be a reason to use that.
Supercedes: https://github.com/mpv-player/mpv/pull/10262
I've now added a commit that adds a new VOCTRL, VOCTRL_IS_IMAGE, which signals the VO if mpv's core has loaded what it considers a video file or not. The succeeding wayland commit makes use of this to implement an auto mode so it hints photo if mpv thinks it has an image and video otherwise.
I changed it to VOCTRL_CONTENT_TYPE now which sends an enum that basically follows the wayland protocol. For the case of having a forced window but no actual video, it now will just send NONE.
I was finally able to test this in git master of sway and the wayland debug logs look good.