test: rewrite filtering tests with proper struct types
- Convert all map-based responses to handlers.SearchMediaItemsResponse
- Add library creation for each test using CreateLibrary() helper
- Implement 25+ comprehensive test cases covering:
- Filtering by status, genre, language, collection, has_cover, tags
- Sorting by title, author, date_added, last_read
- Pagination and limits
- Edge cases (empty library_id, invalid sort, negative offset, zero limit)
- Advanced filters (year range, rating, progress, text search, series, publisher, favorites, archived)
This replaces map-heavy approach with type-safe responses and follows
the project's structured handler pattern.