Update gRPC, its gn template, plugin registry and absl_component_deps

1. A deduplication logic is added to BUILD.chromium.gn.template because
   a source file appears multiple times in input and GN cannot handle
   that.
2. gRPC now uses `absl::Random`
3. `plugin_registry/grpc_plugin_registry.cc` is updated (this is
required) because resource quota handling changed.

Change-Id: If58fd72b409347bb04f5387ceaf2fe7636309277
Bug: None
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3325913
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Albert Chaulk <achaulk@chromium.org>
Commit-Queue: Ming-Chuan Lin <mingcl@google.com>
Cr-Commit-Position: refs/heads/main@{#953142}
NOKEYCHECK=True
GitOrigin-RevId: 0a44c88c728e59f158a70070362b9f6cd284fd30
diff --git a/BUILD.gn b/BUILD.gn
index 39d98be..d3234b0 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -77,6 +77,7 @@
     "//third_party/abseil-cpp/absl/meta:type_traits",
     "//third_party/abseil-cpp/absl/numeric:bits",
     "//third_party/abseil-cpp/absl/numeric:int128",
+    "//third_party/abseil-cpp/absl/random",
     "//third_party/abseil-cpp/absl/status",
     "//third_party/abseil-cpp/absl/status:statusor",
     "//third_party/abseil-cpp/absl/strings",