Description
When position is gotten, right now we do a dbus call to get the current position from the player.
Instead, calculate the current position based on previous status changes and clock monotonic time.
Maybe at some point in the future consider rate changes too.
This might improve position calculation with spotify a bit (it's totally broken now) although we still don't get a "seeked" event so it will still be wrong.
Add a playerctl_player_get_position()
function to get the old behavior of hitting the dbus interface since I'm not confident we can rely on players to give the correct events to make this work correctly all the time.
In fact I'm not totally confident this will work at all, but it will be interesting to try. The interface specification seems to hint that we can do it.