Fixed scaling problems in OpenGL for retina displays by scaling the viewport and projection for OpenGL drawing operations (bug #45093, bug #52878). * display.h (screen_scale, set_screen_scale, do_screen_scale, do_set_screen_scale): Create a member variable and static member functions for storing and retrieving the screen scale. This value is normally 1.0 for most devices, however the value can change for systems supporting retina-scale displays. * GLCanvas.cc (GLCanvas::GLCanvas): Added calls to QT to retrieve the screen pixel ratio and update the screen scale accordingly in the display_info singleton * 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. * graphics.cc (axes::properties::update_font, text::properties::update_font): Update the true font size in points based on the screen scale. The value stored in the property is still as expected for a non-scaled screen, and the scaling is only taken into account for drawing purposes.