Replace synchronous WebServer with ESPAsyncWebServer:
- Fully callback-based, no polling loop needed
- Handles HTTP parsing asynchronously in background
- Larger chunk sizes from async TCP handling
- Known to achieve 500KB-1MB/s vs 200KB/s with sync WebServer
Key changes:
- platformio.ini: Add ESP Async WebServer dependency
- CrossPointWebServer: Rewrite for async API
- CrossPointWebServerActivity: Remove handleClient loop
The sync WebServer was capped at ~200KB/s due to its
synchronous design and small chunk sizes.