Fix WebSocket hash synchronization during rapid script changes
This commit significantly improves hash synchronization during rapid script changes:
- Enhanced client-side notification to server for critical scripts
- Added storage and transmission of both current and previous hashes throughout the system
- Improved cache invalidation with priority-based timeouts
- Added emergency recovery data in HTTP API responses
- Enhanced handling of transition periods to ensure scripts always have valid integrity
- Fixed issues where view-source and inspect element showed different hashes during transitions