refactor(wfdb_writer): improve API consistency and C++ compatibility
- Add extern "C" guards for C++ interoperability
- Replace integer open state with bool is_open
- Rename internal members and parameters using p_ prefix for consistency
- Refactor writer API to use updated pointer naming conventions
- Reuse wfdb_writer_close() in error paths
- Add additional input validation for writer APIs
- Close WFDB signal files during writer cleanup