avcapture: rework to modernize code and fix playback issues
avcapture was non-functional since 3.0.x because of how timestamps were defined in the module. In 4.0, the rendering is also broken since it's trying to use RGB32 instead of BGRA, and also because of how the OpenGL interop uses the fmt_in chroma to select how to swizzle/define the texture format. I'll send a separate merge request for the OpenGL interop changes.
This merge request rewrite parts of the module as an Obj-C interface to make use of ARC correctly, simplifying the lifecycle of the NSObject used. It also fixes the timestamp issues and apply various fixes to the whole code, making the module functional again.
Some patches (especially, the timestamp-related changes) might be backported to 3.0 afterwards.
Fixes #26101 (closed)