feat(respiration): add zero-crossing respiration rate estimation
- Implement hysteresis-based zero-crossing respiration rate detection
- Add DC offset compensation and valid period filtering
- Add respiration rate smoothing and physiological range validation
- Integrate zero-crossing estimation into Respiration::Process()
- Add unit tests for multiple BPM rates, noise, offsets, amplitudes, hysteresis, invalid signals, repeatability, and output validation
- Add dataset-based respiration rate validation and CSV comparison output