Release v0.4.1 - Code Refactoring

This release focuses on major code refactoring and maintainability improvements.

- **main.c**: Reduced from 1,258 to 904 lines (-354 lines, 28% reduction)
- **render_to_cairo()**: Simplified from 428 to 74 lines (82% reduction)
- Created dedicated `render_helpers` module (428 lines) for all rendering logic

- `render_karaoke_segments()`: LRCX karaoke rendering with progressive fill
- `render_ruby_segments()`: LRC/SRT ruby text (furigana) rendering
- `render_word_segments_static()`: LRCX static display without karaoke effect
- `render_plain_text()`: Simple text rendering
- Helper functions for ruby height calculation and color utilities

- `parse_init()`: Common parser initialization (removed 39 lines of duplication)
- `free_ruby_segments()` / `free_word_segments()`: Unified memory management
- `is_text_only_whitespace()`: Whitespace validation utility
- `apply_timestamp_offset()`: Inline timestamp offset calculation

- Improved code maintainability and readability
- Separated concerns - each rendering mode has dedicated function
- Easier to test and debug individual components
- Reduced code duplication across parsers
- Better module organization

- No functionality changes - pure refactoring
- All rendering modes tested and verified
- Compilation successful on all targets

🤖 Generated with [Claude Code](https://claude.com/claude-code)