feat(turbo-tasks-backend): gate prepare_tasks_with_callback trace span behind feature flag (#92779)
### What?
Gates the `prepare_tasks_with_callback` trace span in `turbo-tasks-backend` behind a new `trace_prepare_tasks` Cargo feature flag.
### Why?
The `prepare_tasks_with_callback` span was emitted unconditionally on every call, which is extremely frequent during task scheduling. This made trace files very verbose with high-volume, low-signal entries. All other trace spans in `turbo-tasks-backend` (e.g. `trace_task_completion`, `trace_task_modification`, `trace_task_dirty`, etc.) are already gated behind `#[cfg(feature = "trace_*")]` flags — this brings `prepare_tasks_with_callback` in line with that convention.
### How?
- Added `trace_prepare_tasks = []` to the `[features]` section of `turbopack/crates/turbo-tasks-backend/Cargo.toml`, alongside the existing `trace_*` flags.
- Gated the `use tracing::trace_span` import and the `trace_span!("prepare_tasks_with_callback", reason)` call in `src/backend/operation/mod.rs` behind `#[cfg(feature = "trace_prepare_tasks")]`.
- Added `#[cfg(not(feature = "trace_prepare_tasks"))] let _ = reason;` to suppress the unused-variable warning when the feature is off (the `reason` parameter has no other use in the function body).
The span is now silent by default. It can be re-enabled for debugging by compiling with `--features trace_prepare_tasks`.
<!-- NEXT_JS_LLM_PR -->