Fixed scaling problems in OpenGL for HiDPI displays by scaling the viewport, projection, and various drawing operation for OpenGL rendering of plots (bug #45093, bug #52878). * Figure.h, Figure.cc (screenChanged, figureWindowShow): Added QT signals and slots to detect when a figure window either appeared the first time or changed screens. These are used to update the devicePixelRatio on a per figure basis. * FigureWindow.h, FigureWindow.cc (showEvent, figureWindowShown): Override the showEvent method to detect when the figure first becomes visible. This is necessary because the window is not attached to a QScreen until it becomes visible. Added a signal to allow the Figure class to detect when the FigureWindow has become visible. * GLCanvas.cc (do_getPixels, selectFromAxes, draw): Retrieve the devicePixelRatio from the figure that is associated with the graphics_object being drawn and scale the OpenGL operation appropriately. * gl-select.h, gl-select.cc (init_marker): Added the devicePixelRatio as an option to the init_marker to draw selections properly. * gl-render.cc (opengl_renderer::setup_opengl_transformation, opengl_renderer::draw_text_background, opengl_renderer::init_marker): Updated the orthographic transformation for the drawing operation to take the screen scale into account. (opengl_renderer::draw_image): Updated the pixel zoom factor based on the screen scale for the raster of an image to the OpenGL canvas. (opengl_renderer::set_viewport): Updated the viewport size based on the screen scale. * gl-render.h (devicePixelRatio): Created two helper functions for getting the devicePixelRatio from the top-level figure associated with either a decendent graphics_object or decendent base_properties derivative. * graphics.cc (text::properties::update_font, axes::properties::update_font): Retrieve the devicePixelRatio from the top-level figure, but only in a safe way that ensure the text object is a descendent of a figure. * graphics.in.h (figure::properties): Added a hidden property __device_pixel_ratio__ to determine scaling for HiDPI screens. * acinclude.m4 (OCTAVE_CHECK_FUNC_QSCREEN_DEVICEPIXELRATIO): New macro to test if HiDPI support is needed.