frame2kafka: use queue to wait for new frames
Instead of checking whether the queue is empty independently of getting new frames, do this as part of a single step with a sensible timeout.
This resolves an issue where frame2kafka
was checking the queue many many times a second using 100% CPU. This will instead allow frame publishing to be driven by new frames in the queue.