[flutter_tools] Update to latest dwds APIs (#51004)

Update to latest dwds APIs, moving back to dwds driven hot restart and enabling future work on expression evaluation.
diff --git a/dev/bots/test.dart b/dev/bots/test.dart
index f30c3ca..2240026 100644
--- a/dev/bots/test.dart
+++ b/dev/bots/test.dart
@@ -278,11 +278,15 @@
       final String suffix = Platform.isWindows && subshard == 'commands'
         ? 'permeable'
         : '';
+      // Only linux has Chrome installed and is running web integration tests.
+      // See `_pubRunTest` for more information.
+      final bool forceSingleCore = Platform.isLinux && subshard == 'integration';
       await _pubRunTest(
         toolsPath,
         testPaths: <String>[path.join(kTest, '$subshard$kDotShard', suffix)],
         tableData: bigqueryApi?.tabledata,
         enableFlutterToolAsserts: true,
+        forceSingleCore: forceSingleCore,
       );
     },
   );
@@ -718,6 +722,7 @@
   bool useBuildRunner = false,
   String coverage,
   bq.TabledataResourceApi tableData,
+  bool forceSingleCore = false,
 }) async {
   int cpus;
   final String cpuVariable = Platform.environment['CPU']; // CPU is set in cirrus.yml
@@ -731,6 +736,11 @@
   } else {
     cpus = 2; // Don't default to 1, otherwise we won't catch race conditions.
   }
+  // Integration tests that depend on external processes like chrome
+  // can get stuck if there are multiple instances running at once.
+  if (forceSingleCore) {
+    cpus = 1;
+  }
 
   final List<String> args = <String>[
     'run',