### What happened?

Start a BiDi enabled session, but do not call `driver.getBiDi()`, this will let the driver initialize the connection on `driver.close()` and `driver.quit()`. 

Both calls will run into a `TimeoutException` after ~ 30s, this makes the shutdown of such a driver very slow and exceptions need to be handled.

### How can we reproduce the issue?

```shell
var options = new ChromeOptions();        
options.setCapability("webSocketUrl", true);
Augmenter augmenter = new Augmenter();
WebDriver driver = augmenter.augment(new RemoteWebDriver(uri, options));

try {
    DevTools devTools = ((HasDevTools) driver).getDevTools();
    devTools.createSession();

    driver.close();
} catch (Exception e) {
    e.printStackTrace();
} finally {
    try {
        driver.quit();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
```


### Relevant log output

```shell
org.openqa.selenium.TimeoutException: java.util.concurrent.TimeoutException
Build info: version: '4.16.0', revision: '15400459dd*'
System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '21.0.1'
Driver info: driver.version: RemoteWebDriver
	at org.openqa.selenium.bidi.Connection.sendAndWait(Connection.java:172)
	at org.openqa.selenium.bidi.BiDi.send(BiDi.java:54)
	at org.openqa.selenium.bidi.BiDi.<init>(BiDi.java:37)
	at org.openqa.selenium.bidi.BiDiProvider.lambda$getImplementation$2(BiDiProvider.java:55)
	at org.openqa.selenium.remote.RemoteWebDriver$ByteBuddy$3k6C8irl.maybeGetBiDi(Unknown Source)
	at org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:435)
	at some.issues.Main.lambda$main$0(Main.java:39)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.util.concurrent.TimeoutException
	at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
	at org.openqa.selenium.bidi.Connection.sendAndWait(Connection.java:161)
	... 11 more
```


### Operating System

win 10 x64

### Selenium version

4.16.1

### What are the browser(s) and version(s) where you see this issue?

chrome 120

### What are the browser driver(s) and version(s) where you see this issue?

chromedriver 120

### Are you using Selenium Grid?

4.16.1
package org.openqa.selenium.bidi;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.openqa.selenium.internal.Debug.getDebugLogLevel;
import static org.openqa.selenium.json.Json.MAP_TYPE;
import static org.openqa.selenium.remote.http.HttpMethod.GET;
import java.io.Closeable;
import java.io.StringReader;