cancel method
Cancels an active download
Does nothing if task doesn't exist or is already complete
Implementation
@override
Future<void> cancel(String taskId) async {
// Cancel is a no-op on web since there's no actual download
// The URL registration happens instantly
debugPrint('WebDownloadService: Cancel called for $taskId (no-op on web)');
}