Don't reset out-of-range cvars when using menus.

Display out-of-range values as ‘???’ and preserve custom settings upon
closing menu.

Also fix ‘toggle’ control with boolean cvars: properly save negated values.
Change menu script to use boolean toggles instead of bitmasks where
appropriate.
Fix bounding box of keybinding menu control.
Silence GCC warning.
Implement automatic screen scaling.

Automatically scale 1x, 2x or 4x when ‘(con|scr|ui)_scale’ variables are
set to 0, depending on current display resolution.