Reset frames/duration maps when changing file, or when initialising the position map.

frame/position maps were never reset, causing the PositionMap to rarely been updated and the totalFrames and program duration to never be updated after the file had been opened.
This was responsible for wrong seeks in in-progress recordings and liveTV

(cherry picked from commit 632cf60862dd106f89db4121b7c592e37694cd58)
Improve FastForward and Rewind

This improves seeks in in-progress recordings, retrieving up to date duration from the backend only when absolutely required
When fast forwarding, we jump to -3s before the end at the most (-1s otherwise)

Fixes #12146

(cherry picked from commit 244ce4feecd1df80c915023540a73684140d037a)