Fix remember file position when double-clicking on a playlist item.

If a position was previously saved, it will be restored unless the file is already playing.

This commit fixes #3304.
Improve the infinite recursion detection when parsing playlists.

The parser was sometimes too strict and rejected valid playlists.