2.35.0 feature release

Deprecation notices:

* Game scripts targeting a compatibility level ≥ 2.35 should no longer use APP_xxx_PREFIX_TYPE
  as it conflicts with the improved implicit applications list, cf. "Launchers" below.
  The variable APPLICATIONS_PREFIX_TYPE should be used instead.
* Drop multiple obsolete compatibility wrappers:
  - build_pkg
  - dependencies_list_native_libraries
  - icons_inclusion
  - launcher_prefix_symlinks_build
  - launchers_write
  - prefix_generate_links_farm
  - write_metadata
* Drop legacy variable PRELOAD_HACKS_LIST.
  This preload hack system should be replaced with the one relying on LD_PRELOAD_SOURCE, introduced with ./play.it 2.33.0.
* Drop legacy variable target_version.
  The variable PLAYIT_COMPATIBILITY_LEVEL, introduced with ./play.it 2.26, must be used instead.
* Drop legacy variable PKG.
  The package context should be set with set_current_package, introduced with ./play.it 2.27.
* Drop legacy variable ARCHIVE_xxx.
  It should be replaced with ARCHIVE_xxx_NAME or ARCHIVE_xxx_PATH, introduced with ./play.it 2.26.
* Drop legacy variable SOURCE_ARCHIVE.
  Calls to `archive_extraction 'SOURCE_ARCHIVE'` should be replaced with archive_extraction_default, introduced with ./play.it 2.26.
* Game scripts relying on tolower or toupper must set an explicit requirement on convmv, through REQUIREMENTS_LIST.
* Unreal Engine 4 games (WINE only): vcrun2019 is no longer installed by default with compatibility levels ≥ 2.35.

New install path for ./play.it:

* The library default install path is now ${prefix}/lib/play.it/libplayit.sh.2
  (with ${prefix} defaulting to /usr for install as root, or ${HOME}/.local otherwise)
* A compatibility link is installed at ${prefix}/share/play.it/libplayit2.sh
* No compatibility link is installed at ${prefix}/share/games/play.it/libplayit2.sh
* The "play.it" command is installed in ${prefix}/bin instead of ${prefix}/games

Options:

* Library revision is appended to --version output.
* New command line option --list-archives
  Called from a game script, it lists the archives supported by that script.
  Called from the play.it wrapper, it lists the archives supported by all available game scripts on the system.
  Example output:
  $ ./play-alpha-centauri.sh --list-archives
  6c9bd7e1cf88fdbfa0e75f694bf8b0e5 | setup_sid_meiers_alpha_centauri_2.0.2.23.exe
  d401431ff9c1c7526c3104194409bd6e | setup_sid_meiers_alpha_centauri_planetary_pack_1.1_pracx_ddraw_(77244).exe

Archives:

* New function: archive_url - Get the URL to the download page for a given archive.
  USAGE: archive_url $archive
* New function: path_archive_contents - Print full path to extracted archive content.
  A content identifier can be passed as a single optional argument, then the path leading to that content is printed.
  Otherwise the default content path is printed.
  USAGE: path_archive_contents [content_id]
* New variables for the archive passed on the command line:
  - PLAYIT_BASE_ARCHIVE_NAME
  - PLAYIT_BASE_ARCHIVE_PATH
  More globally, the SOURCE_ARCHIVE identifier is dropped in favour of PLAYIT_BASE_ARCHIVE.
  Game scripts are not expected to rely on PLAYIT_BASE_ARCHIVE anyway, they should use current_archive instead.
* When extracting files from InnoSetup installers, they are no longer implicitly converted to lower case.
  The conversion to lower case still happens for compatibility level ≤ 2.34,
  to prevent breakages for game scripts relying on this implicit conversion.

Icons:

* Do not enforce a .exe extension on icon containers handled by wrestool.
* Ensure full support for package-specific CONTENT_PATH_DEFAULT values.
  Such values are uncommon, but at least Divinity: Original Sin 2 relies on these.
* Mono games: Use the game binary as the default icon source.

Launchers:

* New tweak: launcher_tweak_sdl_force_x11 - Force use of SDL x11 video backend.
  This should be called in pre-run actions for games not working with SDL wayland backend.
  USAGE: launcher_tweak_sdl_force_x11
* Improve the implicit applications list by detecting identifiers with multiple underscores.
* Paths diversion to persistent storage from the volatile prefix is reworked, leading to less dead code in generated launchers.
* Visionaire games: Prevent crashes of the shipped SDL library.
* Visionaire games: Only set dependencies on native libraries for native games.

Packages:

* Implicitly set expansion packages dependency on the base game.
  The following variables no longer need to be explicitly set:
  - PKG_xxx_DEPENDENCIES_SIBLINGS
  - PKG_PARENT_ID
* WINE games: Dependencies on architecture-specific packages are improved,
  in a way that should make it easier to install i386 games on an amd64 host.