Fix duration display for in-progress variable-framerate recordings.

The last frame is used for calculating total duration, and since the
last frame is almost always beyond the end of the duration map,
requiring extrapolation based on the frame rate.  The problem was that
the frame rate for the current playback position was used, rather than
the frame rate for the current end of the recording, leading to
noticeable errors in duration calculation.  Instead, we can request
the latest frame rate from the recorder.

Thanks to David Engel for testing on a variable-framerate source.