Always use duration for position
This avoids issues with song vs. sound card sampling rate. Previously the position was set correctly for seeking, but then it is changed as the song plays based on the sound card samples so when queried, the playback position gradually becomes more incorrect.
Also allow specifying the preferred sampling rate because on very slow machines, e.g. Raspberry Pi Zeros, specifying the wrong resampling rate will lead to excessive computation and therefore stuttering.