sout: hls: implement I-frame segmentation
This patchset implements a best effort algorithm to try and start segments with an I-Frame. While optional in the RFC, this guarantees sane seeking points and no artifacts on the first connection of clients in the middle of the stream.
Obviously, the input of the module should be a feed that has a GOP generally smaller than the requested segment size, otherwise, the algorithm will fallback to the old behavior and create a segment that isn't self decodable.
This is still preparation work for the new Chromecast backend, in particular to support seeking in the exposed media window.
Refs #27391