perf: optimize dashboard chart rendering (#65)

## Summary
- replace chart.js/auto imports with explicit chart registries
- split annotation plugin registration to file-detail charts only
- batch crosshair redraws with requestAnimationFrame and disable chart update animations
- reduce dense-axis tick measurement work on dashboard charts

## Verification
- bun format
- bun lint
- bun typecheck
- bun run --cwd apps/web test tests/lib/chart-utils.test.ts
- bun run build:web

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

## Release Notes

* **New Features**
  * Added timezone-aware date window extraction for data processing pipelines.
  * Extended chart configuration to support animation control options.

* **Bug Fixes**
  * Improved validation of NetFlow data files to reject malformed filenames.

* **Performance**
  * Optimized chart rendering with coalesced crosshair redraws using animation frames.
  * Centralized Chart.js plugin registration to eliminate duplicate initialization.

* **Tests**
  * Enhanced test coverage for exclusive date boundary handling and multi-source data filtering.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/flamboh/atlantis/pull/65?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
484c098617oliver committed on 5/26/2026, 10:27:27 AM· committed by GitHubparents1bfc7a4a76f9bf
13 files changedLine totals unavailable