Support playlists using UTF8 encoding without BOM.

This commit fixes #3605.
Support for multiple programs in one IFO file.
SetupDVDChapters: Improve compatibility.

Double check if our parser returns correct data.
SetupDVDChapters: Various fix, cosmetics and clean-ups.

- Fix compilation
- Make the GetTitleInfo function static
- Use ULONG and CString for consistency
- Check that the program number seems valid.