player: get playback time more correctly

This commit makes the playback start time always at time 0.
options: support setting start time with both positive and negative relative time
player: fix start position when specifying with percent