[mono] Convert Environment.CurrentManagedThreadId to an icall (#20313)
In order to avoid the static Thread initialization (System.Thread.CurrentThread inits a static field) see https://github.com/dotnet/runtime/pull/41360
Benchmark:
```csharp
[Benchmark]
public int CurrentThreadId() => Environment.CurrentManagedThreadId;
```
Mono JIT (benchmarked on a slow machine):
```
| Method | Mean | Error | StdDev |
|---------------- |---------:|----------:|----------:|
master | CurrentThreadId | 7.191 ns | 0.0128 ns | 0.0107 ns |
PR | CurrentThreadId | 5.034 ns | 0.0395 ns | 0.0350 ns |
```
Co-authored-by: EgorBo <EgorBo@users.noreply.github.com>