Add support for retina displays to sk_app.

The macOS view system is in "big pixel" units, so translate these
into "physical pixel" units.

To compensate, add sk_app::Window::scaleFactor() which returns the
scale factor. The viewer app is modified to apply the inverse of
this scale factor to the current zoom level.

Change-Id: I4fac066a230c87793fc5a0e5a582d60d25e46e7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/361558
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index f48514b..63568c2 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -2562,18 +2562,32 @@
       sources = [
         "tools/viewer/AnimTimer.h",
         "tools/viewer/BisectSlide.cpp",
+        "tools/viewer/BisectSlide.h",
         "tools/viewer/GMSlide.cpp",
+        "tools/viewer/GMSlide.h",
         "tools/viewer/ImGuiLayer.cpp",
+        "tools/viewer/ImGuiLayer.h",
         "tools/viewer/ImageSlide.cpp",
+        "tools/viewer/ImageSlide.h",
         "tools/viewer/ParticlesSlide.cpp",
+        "tools/viewer/ParticlesSlide.h",
         "tools/viewer/SKPSlide.cpp",
+        "tools/viewer/SKPSlide.h",
         "tools/viewer/SampleSlide.cpp",
+        "tools/viewer/SampleSlide.h",
         "tools/viewer/SkRiveSlide.cpp",
+        "tools/viewer/SkRiveSlide.h",
         "tools/viewer/SkSLSlide.cpp",
+        "tools/viewer/SkSLSlide.h",
         "tools/viewer/SkottieSlide.cpp",
+        "tools/viewer/SkottieSlide.h",
+        "tools/viewer/Slide.h",
         "tools/viewer/SlideDir.cpp",
+        "tools/viewer/SlideDir.h",
         "tools/viewer/StatsLayer.cpp",
+        "tools/viewer/StatsLayer.h",
         "tools/viewer/SvgSlide.cpp",
+        "tools/viewer/SvgSlide.h",
         "tools/viewer/TouchGesture.cpp",
         "tools/viewer/TouchGesture.h",
         "tools/viewer/Viewer.cpp",