Update scale factor when the GdkScreen size changes.  This works
around the fact the when the xsettings plugin is first initialized,
even if you're not running your monitor at its native resolution,
gdk_screen reports the native res, throwing off the scale factor
potentially.  Once the monitor resolutions have been set up,
we'd want that corrected.

Also, a couple of backported things:

- Make sure to use the primary monitor resolution for calculating scale
- Never autodetect HiDPI when the resolution is less than 1200 height.