Minor fixes for better STL compatibility.

Used by https://github.com/bdero/impeller-cmake

- Don't use std namespace for cmath functions.
- Directly include shared_ptr, unique_ptr, and array.
diff --git a/impeller/entity/geometry/vertices_geometry.cc b/impeller/entity/geometry/vertices_geometry.cc
index f9e86d4..5a1f290 100644
--- a/impeller/entity/geometry/vertices_geometry.cc
+++ b/impeller/entity/geometry/vertices_geometry.cc
@@ -5,6 +5,7 @@
 #include "impeller/entity/geometry/vertices_geometry.h"
 
 #include <cstdint>
+#include <cstring>
 #include <utility>
 
 #include "impeller/core/buffer_view.h"
@@ -173,7 +174,7 @@
               .texture_coords = uv,
               .color = has_colors ? colors_[i] : Color::BlackTransparent(),
           };
-          std::memcpy(vtx_contents++, &vertex_data, sizeof(VS::PerVertexData));
+          memcpy(vtx_contents++, &vertex_data, sizeof(VS::PerVertexData));
         }
       });
 
diff --git a/impeller/geometry/path.h b/impeller/geometry/path.h
index 0eebfab..2e68aba 100644
--- a/impeller/geometry/path.h
+++ b/impeller/geometry/path.h
@@ -6,6 +6,7 @@
 #define FLUTTER_IMPELLER_GEOMETRY_PATH_H_
 
 #include <functional>
+#include <memory>
 #include <optional>
 #include <tuple>
 #include <vector>
diff --git a/impeller/geometry/path_component.cc b/impeller/geometry/path_component.cc
index 6c3492f..9e82989 100644
--- a/impeller/geometry/path_component.cc
+++ b/impeller/geometry/path_component.cc
@@ -161,7 +161,7 @@
 void QuadraticPathComponent::ToLinearPathComponents(
     Scalar scale,
     VertexWriter& writer) const {
-  Scalar line_count = std::ceilf(ComputeQuadradicSubdivisions(scale, *this));
+  Scalar line_count = ceilf(ComputeQuadradicSubdivisions(scale, *this));
   for (size_t i = 1; i < line_count; i += 1) {
     writer.Write(Solve(i / line_count));
   }
@@ -179,8 +179,7 @@
 void QuadraticPathComponent::ToLinearPathComponents(
     Scalar scale_factor,
     const PointProc& proc) const {
-  Scalar line_count =
-      std::ceilf(ComputeQuadradicSubdivisions(scale_factor, *this));
+  Scalar line_count = ceilf(ComputeQuadradicSubdivisions(scale_factor, *this));
   for (size_t i = 1; i < line_count; i += 1) {
     proc(Solve(i / line_count));
   }
@@ -235,7 +234,7 @@
 
 void CubicPathComponent::ToLinearPathComponents(Scalar scale,
                                                 VertexWriter& writer) const {
-  Scalar line_count = std::ceilf(ComputeCubicSubdivisions(scale, *this));
+  Scalar line_count = ceilf(ComputeCubicSubdivisions(scale, *this));
   for (size_t i = 1; i < line_count; i++) {
     writer.Write(Solve(i / line_count));
   }
@@ -259,7 +258,7 @@
 
 void CubicPathComponent::ToLinearPathComponents(Scalar scale,
                                                 const PointProc& proc) const {
-  Scalar line_count = std::ceilf(ComputeCubicSubdivisions(scale, *this));
+  Scalar line_count = ceilf(ComputeCubicSubdivisions(scale, *this));
   for (size_t i = 1; i < line_count; i++) {
     proc(Solve(i / line_count));
   }
diff --git a/impeller/geometry/point.h b/impeller/geometry/point.h
index 02df4dc..51cd6cb 100644
--- a/impeller/geometry/point.h
+++ b/impeller/geometry/point.h
@@ -6,6 +6,7 @@
 #define FLUTTER_IMPELLER_GEOMETRY_POINT_H_
 
 #include <algorithm>
+#include <array>
 #include <cmath>
 #include <cstdint>
 #include <ostream>
@@ -224,8 +225,8 @@
   }
 
   constexpr TPoint Rotate(const Radians& angle) const {
-    const auto cos_a = std::cosf(angle.radians);
-    const auto sin_a = std::sinf(angle.radians);
+    const auto cos_a = cosf(angle.radians);
+    const auto sin_a = sinf(angle.radians);
     return {x * cos_a - y * sin_a, x * sin_a + y * cos_a};
   }
 
diff --git a/impeller/typographer/rectangle_packer.cc b/impeller/typographer/rectangle_packer.cc
index 3ec7464..f9a7be8 100644
--- a/impeller/typographer/rectangle_packer.cc
+++ b/impeller/typographer/rectangle_packer.cc
@@ -5,6 +5,7 @@
 #include "impeller/typographer/rectangle_packer.h"
 
 #include <algorithm>
+#include <memory>
 #include <vector>
 
 #include "flutter/fml/logging.h"
diff --git a/impeller/typographer/rectangle_packer.h b/impeller/typographer/rectangle_packer.h
index 817bc66..d8b1e1c 100644
--- a/impeller/typographer/rectangle_packer.h
+++ b/impeller/typographer/rectangle_packer.h
@@ -9,6 +9,7 @@
 #include "impeller/geometry/scalar.h"
 
 #include <cstdint>
+#include <memory>
 
 namespace impeller {