[heap] Refactor GCTracer to use base::TimeDelta for durations
This patch refactors the GCTracer class to use base::TimeDelta and
base::TimeTicks for representing durations and timestamps, replacing
the previous use of double.
Key changes:
- Updated GCTracer::Event and BackgroundCounter to use base::TimeDelta
for scope durations.
- Changed Event start_time and end_time to base::TimeTicks.
- Updated various GCTracer members (average durations, pause times)
to use appropriate base::TimeDelta or base::TimeTicks types.
- Adjusted methods like AddScopeSample, AddCompactionEvent, and
AddIncrementalMarkingStep to handle the new types.
- Updated metrics reporting and trace events to perform necessary
conversions (e.g., InMicroseconds()).
- Updated call sites and unit tests accordingly.