[wasm][debugger][tests] Split tests into separate files (#19647)
* [wasm][debugger][tests] Move helper methods to base class
* [wasm][debugger][tests] Extract EvaluateOnCallFrame tests to new file
* [wasm][debugger][tests] Extract Array tests to a new file
* [wasm][debugger][tests] Extract CallFunctionOn tests to a new file
* [wasm][debugger][tests] Extract Delegate tests to a new file
* [wasm][debugger] Don't inherit from another test class
.. as that ends up running all the tests of the base class too.
* [wasm][debugger][tests] Improve retries in TestHarnessStartup
Sometimes `/json/list` seems to return an empty array (`[ ]`). Treat
that also as a case for retry.
* [wasm][debugger][tests] Bump timeout from 2s to 5s
* [wasm][debugger][tests] Launch chrome in incognito mode
* debugging
* [wasm][debugger] TestHarnessStartup - don't share `ProcessStartInfo`
.. instances. Instead, create one for every use.
We seem to run into cases where the `get_Environment` is modifying it's
`_environmentVariables` field, concurrently from multiple threads,
causing exceptions like:
```
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at System.Diagnostics.Process.CreateEnvp(ProcessStartInfo psi)
at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at WebAssembly.Net.Debugging.TestHarnessStartup.LaunchAndServe(ProcessStartInfo psi, HttpContext context, Func`2 extract_conn_url) in /Users/radical/dev/w1/sdks/wasm/ProxyDriver/TestHarnessStartup.cs:line 82
at WebAssembly.Net.Debugging.TestHarnessStartup.<>c__DisplayClass10_0.<<Configure>b__1>d.MoveNext() in /Users/radical/dev/w1/sdks/wasm/ProxyDriver/TestHarnessStartup.cs:line 167
```
* [wasm][debugger] Fix regression in debug.html
Fixes https://github.com/mono/mono/issues/19653 .