xdg_output: add an output scale_factor event to provide explicit output fractional scale info
I believe this would help some projects like Wine or other big projects that rely on the output scale factor, and per-window scale factor does not fully meet their needs.
While the wayland!328 MR seems unlikely to be accepted, I think xdg_output is a good compromise, taking into account that this is unstable protocol.
The Chromium project still relies on the scale factor they calculate from the physical/logical sizes. However, this value isn't accurate and ideally shouldn't be done that way, but they have stuck with it for a long time. They just ignore the fractional_scale_v1 protocol event, and I believe not because they want to, but because the architecture relies on the per-output scale.
This should help such projects transition. As I mentioned before, I think the Wine project will face similar problems.
https://chromium-review.googlesource.com/c/chromium/src/+/5404799