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/test/tint/builtins/gen/var/acosh/17260e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/acosh/17260e.wgsl.expected.wgsl
index a800387..4d5bc83 100644
--- a/test/tint/builtins/gen/var/acosh/17260e.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/acosh/17260e.wgsl.expected.wgsl
@@ -1,5 +1,5 @@
 fn acosh_17260e() {
-  const arg_0 = vec2(2.0);
+  const arg_0 = vec2(1.54308063479999990619);
   var res = acosh(arg_0);
 }