refactor(benchmark): simplify provider contract to a default export
Address review feedback on the pluggable benchmark provider API. The
initial design mirrored the coverage provider (a `getProvider` factory
plus a `BenchmarkProviderModule` wrapper), which was a special case that
benchmarks — running only in tests — don't need.
- Drop `BenchmarkProviderModule` and `getProvider`: a custom provider
module now default-exports a `BenchmarkProvider` directly.
- Reuse the existing `TestModuleRunner` interface instead of the bespoke
`BenchmarkProviderLoader`.
- Remove the `TestRunner.runBenchmarks` override hook, now redundant with
the provider API, and inline `tinybench.run()` in the default provider.