screen_ui: Allow setting screen margin space.

We already have outer_width and outer_height in wear UI, and x_offset
and y_offset in VR UI. This CL adds margin_width_ and margin_height_ to
their base class (ScreenRecoveryUI) to shorten the gap. This will be in
general useful for round or round-cornered screens.

Move the density computation to ScreenRecoveryUI ctor so that the value
can be used earlier.

Bug: 62732748
Test: Setting and not setting margin_{width,height}_ on angler. Check the
      recovery texts (recovery menu as well as 'View recovery logs').
Change-Id: Ibf6238c9cc8949a42ed8a410e1c09d55b0b5a151
(cherry picked from commit 87f4650874346f1d0238e70b148a31cea5e19a2e)
diff --git a/screen_ui.h b/screen_ui.h
index bd99254..fd9f471 100644
--- a/screen_ui.h
+++ b/screen_ui.h
@@ -72,10 +72,11 @@
     void SetColor(UIElement e);
 
   protected:
+    // The scale factor from dp to pixels. 1.0 for mdpi, 4.0 for xxxhdpi.
+    const float density_;
+
     Icon currentIcon;
 
-    // The scale factor from dp to pixels. 1.0 for mdpi, 4.0 for xxxhdpi.
-    float density_;
     // The layout to use.
     int layout_;
 
@@ -136,6 +137,12 @@
 
     int char_width_;
     int char_height_;
+
+    // The margin that we don't want to use for showing texts (e.g. round screen, or screen with
+    // rounded corners).
+    int margin_width_;
+    int margin_height_;
+
     pthread_mutex_t updateMutex;
 
     virtual bool InitTextParams();