[Impeller] Add EXPECT_OBJ_NEAR macros similar to the ASSERT_OBJ_NEAR versions (#47795)

Fixes https://github.com/flutter/flutter/issues/137873

The `ASSERT_..._NEAR` macros are used in many places in the Impeller unit tests, but they are "fatal errors" in that they immediately exit the individual unit test. These versions allow testing expectations without ending the unit test early.
diff --git a/impeller/geometry/geometry_asserts.h b/impeller/geometry/geometry_asserts.h
index f8c8677..9f860e3 100644
--- a/impeller/geometry/geometry_asserts.h
+++ b/impeller/geometry/geometry_asserts.h
@@ -161,3 +161,15 @@
 #define ASSERT_ARRAY_4_NEAR(a, b) ASSERT_PRED2(&::Array4Near, a, b)
 #define ASSERT_COLOR_BUFFER_NEAR(a, b) ASSERT_PRED2(&::ColorBufferNear, a, b)
 #define ASSERT_COLORS_NEAR(a, b) ASSERT_PRED2(&::ColorsNear, a, b)
+
+#define EXPECT_MATRIX_NEAR(a, b) EXPECT_PRED2(&::MatrixNear, a, b)
+#define EXPECT_QUATERNION_NEAR(a, b) EXPECT_PRED2(&::QuaternionNear, a, b)
+#define EXPECT_RECT_NEAR(a, b) EXPECT_PRED2(&::RectNear, a, b)
+#define EXPECT_COLOR_NEAR(a, b) EXPECT_PRED2(&::ColorNear, a, b)
+#define EXPECT_POINT_NEAR(a, b) EXPECT_PRED2(&::PointNear, a, b)
+#define EXPECT_VECTOR3_NEAR(a, b) EXPECT_PRED2(&::Vector3Near, a, b)
+#define EXPECT_VECTOR4_NEAR(a, b) EXPECT_PRED2(&::Vector4Near, a, b)
+#define EXPECT_SIZE_NEAR(a, b) EXPECT_PRED2(&::SizeNear, a, b)
+#define EXPECT_ARRAY_4_NEAR(a, b) EXPECT_PRED2(&::Array4Near, a, b)
+#define EXPECT_COLOR_BUFFER_NEAR(a, b) EXPECT_PRED2(&::ColorBufferNear, a, b)
+#define EXPECT_COLORS_NEAR(a, b) EXPECT_PRED2(&::ColorsNear, a, b)
diff --git a/impeller/geometry/rect_unittests.cc b/impeller/geometry/rect_unittests.cc
index c9abe94..53a0c9f 100644
--- a/impeller/geometry/rect_unittests.cc
+++ b/impeller/geometry/rect_unittests.cc
@@ -30,14 +30,14 @@
     Size s(100, 200);
     Rect r = Rect::MakeSize(s);
     Rect expected = Rect::MakeLTRB(0, 0, 100, 200);
-    ASSERT_RECT_NEAR(r, expected);
+    EXPECT_RECT_NEAR(r, expected);
   }
 
   {
     ISize s(100, 200);
     Rect r = Rect::MakeSize(s);
     Rect expected = Rect::MakeLTRB(0, 0, 100, 200);
-    ASSERT_RECT_NEAR(r, expected);
+    EXPECT_RECT_NEAR(r, expected);
   }
 
   {