Issue #254: Don't update the Playback position to Watched for Default External Player

If the player doesn't support resume positions then don't update the watched statusw
as we don't know if it has been watched completely or not.

Also refactored the code to make it easier to maintain in the future and test.