Flexbox model will replace old xul box as the default display model so
this patch adds support for that in a whole bunch of styles.
A lot of style rules are marked as "Fx < 112 compatibility" rules and
those can be removed when 112 hits release.
This patch changes how we deal with window control buttons on left
layouts. Previously, we looked to a pref that was only set on macos
but with this patch we use media queries to detect whether the system
is macOS or gtk-csd buttons use left-side layout.
To support old-style "override pref" this patch also introduces a
new custom pref userchrome.force-window-controls-on-left.enabled
which can be used e.g on Windows to move window controls to left side.
This logic is currently only supported in styles that use
window_control_placeholder_support.css