ffmpeg-cffi av-get-best-effort-timestamp implementation
ffmpeg decode macros replaced with continuation passing functions for decode-context packet and frame users

decode-context an object that can be assemled at once and have its data reused via
with-struct-reader.  The following replacements were made:
with-input -> run-input
with-frame-read-loop -> run-frame-read-loop
with-decoded-frame-read-loop -> run-decoded-frame-read-loop
replace with-decode-frame by run-decoded-frame continuation
support for best effort pts using time-base member of stream and av-frame-get-best-effort-timestamp