Follow-up to todo mentioned in #1130
We should probably refactor the sws logic into its own class, similar to what we did for filtergraph.
- Encapsulate the double swscale path (color conversion + resize)
- Handle context caching internally (like FilterGraph is created once and reused)
- Provide a clean convert() API similar to FilterGraph::convert()