Fix incorrect GTK menus on HiDPI monitors with scaling factor > 1

This should fix Bug#31223, Bug#28106, Bug#23672 as well as Ubuntu bug
https://bugs.launchpad.net/ubuntu/+source/emacs25/+bug/1695228

Also fixes the formerly unscaled Y value returned by
frame-monitor-workarea (and display-monitor-attributes-list).

For details on why some GTK menus were empty please see thread
https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg01061.html

* src/gtkutil.c (menubar_map_cb, xg_update_frame_menubar): Scale up
req.height so that the menu bar's height is in device pixels as
expected.
(xg_event_is_for_menubar): Scale down rec.x and rec.y so that
gtk_widget_intersect() works as intended.
* src/xfns.c (Fx_display_monitor_attributes_list): Scale work.x and
work.y up to be in device pixels.

Copyright-paperwork-exempt: yes
1 job for master in 56 minutes and 50 seconds (queued for 1 second)
Status Job ID Name Coverage
  Test
failed #4412
test-all

00:56:50

 
Name Stage Failure
failed
test-all Test
Makefile:319: recipe for target 'check-doit' failed
make[2]: *** [check-doit] Error 1
make[2]: Leaving directory '/builds/emacs/emacs/test'
make[1]: *** [check-expensive] Error 2
Makefile:294: recipe for target 'check-expensive' failed
make[1]: Leaving directory '/builds/emacs/emacs/test'
Makefile:959: recipe for target 'check-expensive' failed
make: *** [check-expensive] Error 2
ERROR: Job failed: exit code 1