matroska: store segment/edition uids in a single structure

To support edition references in matroska chapters, editions need to be
remembered for each chapter and source. To facilitate easier management
of these now-paired uids, a single structure is used.
matroska: parse the requested edition for the segment reference
matroska: set the edition uid when reading a chapter reference
matroska: select the edition using the requested edition uid
matroska: refactor ordered chapter timeline building

This will need to be recursive to support chapters referencing ordered
editions in other files.
matroska: recursively search for referenced segments

When playing a Matroska file with ordered chapters, it may reference
another file by edition uid. When this edition is also ordered, it may
reference other files. When this occurs, the new segment/edition pair is
added to the list of sources to search for.
matroska: support chapter references to ordered editions

Since ordered editions can reference external files, when an ordered
chapter references another ordered edition, we have to go and figure out
what is is referencing as well.
matroska: avoid requesting the same source multiple times
matroska: use memmove when collapsing the source list down
osc: Don't create a config if none exists.

A documentation explaing where and how to create one instead will follow.
osc: reset mouse position when leaving window

and store it freshly on first mouse_move event when entering again
tech-overview.txt: reflect talloc/TA changes
x11_common: don't handle mouse enter events

This could cause the OSC to be displayed without mouse interaction: for
example, starting mpv with --fs, and putting the mouse to where the OSC
area is beforehand, would cause the OSC to appear and stay visible. We
don't want that. The simplest solution is not generating artificial
mouse move events from mouse enter events, because they make the OSC
think the mouse was actually moved.

Also see commit 0c7978c, where handling of mouse enter events was added.
This was supposed to fix certain corner cases, but they're not relevant
anymore due to changes in OSC behavior.

Commit 9777047 fixed this as well (by resetting the mouse state on
MOUSE_LEAVE), but all the behavior reverted with this commit as perhaps
a bad idea. It wasn't very robust, made it hard to distinguish real
events from artificial ones, and finally made the mouse cursor more
often visible than needed. (Now switching between workspaces doesn't
make the cursor visible again when switching to a fullscreened mpv.)
osc docs: Add documentation for OSC and rename some options

camelCase from some of the option names removed. If you were using those, you'll have to update them in your config.
osc: fix borked options
docs: Add osc.rst to mpv.rst

Also moved OPTIONS headline into options.rst
docs: osc: fix table and other errors
changes.rst: add some replaced options, follow conventions better
docs: osc: add short info about lua and how to disable it
demux_mkv: add support for HEVC

Note that you still need --vd-lavc-o='strict=-2' to enable the decoder.

Also, there's no guarantee that all required features for HEVC demuxing
are actually implemented, nor that the current muxing schema is the
final one.