Generic template and forward in stringstream.

This CL updates the templates in the StringStream to match more types.
All of the internal `operator<<` methods have been converted over to
StringStream. The precision was increased in order to better match the
precision needed to read back as a double.

Bug: tint:1686
Change-Id: Iaa15cf247f174967dd1014647ba5a74804997c22
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122080
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
diff --git a/src/tint/transform/substitute_override_test.cc b/src/tint/transform/substitute_override_test.cc
index abc67f5..1b4646f 100644
--- a/src/tint/transform/substitute_override_test.cc
+++ b/src/tint/transform/substitute_override_test.cc
@@ -110,9 +110,9 @@
 
 const i_height = 11i;
 
-const f_width : f32 = 22.299999237f;
+const f_width : f32 = 22.299999237060546875f;
 
-const f_height = 12.399999619f;
+const f_height = 12.3999996185302734375f;
 
 const b_width : bool = true;
 
@@ -175,9 +175,9 @@
 
 const i_height = 11i;
 
-const f_width : f32 = 22.299999237f;
+const f_width : f32 = 22.299999237060546875f;
 
-const f_height = 12.399999619f;
+const f_height = 12.3999996185302734375f;
 
 const b_width : bool = true;