Replace polling loop (Collect + Sleep) with proper batch collection:
- Block on first request via channel receive
- Start 500µs timer for collection window
- Accumulate requests until timer fires or batch reaches 32KB
- Shutdown handling at all blocking points
Design doc §3.2.5: '等待组提交触发(500µs 或 32KB,先到者触发)'
Add GroupCommitDelay config field (default 500µs, must be > 0 and < 10ms).