Sync libdvdread up to R1290:

* Add missing strings.h #include for strcasecmp() / strncasecmp().
* Replace uses of the deprecated dvdcss_handle type by dvdcss_t.
* Replace deprecated dvdcss_title() function by dvdcss_seek().
* Do not extract libdvdcss version via dvdcss_interface_2.
* Add #define for DVDCSS_SEEK_KEY to allow compilation without dvdcss.h.
* If the start offset points past the last_byte (outside the region read) stop reading PTTs and adjust nr_of_srpts.
* Use correct name of the libdvdcss DLL on Windows.
* Fix spelling errors.
* Document warnings generated by DVDs made with the VDR-to-DVD device LG RC590M.
* Add an error message.
* Clear pf_temp to make sure it is initialized.
* Free `cached_dir_base` to fix memory leak.
* Abort when PTT search table has zero entries.
* Use 0 instead of NULL in integer comparison.
(cherry picked from commit 2874f0d150342539644a5838f5147fa4c31f51ff)
Sync libdvdnav up to R1294:

* Add missing strings.h #include for strncasecmp().
* Fix crash when trying to play a DVD from different region than currently set in the DVD drive.
* Prevent segmentation faults in vdnav_describe_title_chapters() in case of parts with missing PGC.
* Let dvdnav_describe_title_chapters() ignore parts where the pgc_start_byte is above the last_byte.
* Let dvdnav_describe_title_chapters() skip PGCs with a cell number of zero.
* Fix integer overflow in dvdnav_convert_time().
* Do not close file twice.
* Make sure program_map is not NULL.
* Let dvdnav_describe_title_chapters() skip PGCs with missing cells.
* Prevent general CPP macro from causing strange behavior.
* Avoid a crash when program number is zero.
* Check for out-of-bounds values for pgcn.
* In vm_new_vm(), use the proper calloc() argument order and don't derive 1 from the unrelated sizeof(char).
(cherry picked from commit 2a6038b5d7bf570e28fd8c3061483b0a22dcd830)