wayland: reworked resizing

This fixes 2 bugs:
 * Resizing very fast breaks the aspect of the window and the width and height
   don't match with the video anymore
 * Pressing 'f' for fullscreen very fast can overwrite the backup variables for
   the previous width and height.

Also includes a better aspect calculation with fluid resizing.
command: fix DVD angle cycling

It didn't wrap around when switching while the last angle is active.
core: refactor seek_chapter() function

Makes it easier to understand... maybe. It's still pretty strange how
this function may either queue the seek or seek immediately. The way
it actually works doesn't change, queuing the seek is just moved into
the function.

Also add a execute_queued_seek() function, which resets the queue state
correctly.
stream_bluray: make code a bit more obvious
stream_bluray: general timeline support

Uses the same mechanisms as stream_dvd to report the virtual playback
time as known by libdvdread/libbluray, instead of the raw demuxer
output.

This should solve many problems with BD playback, like correct display
of playback time and duration.

On the other hand, this causes some new problems. For example, the
reported stream time has a rather low resolution (1-2 seconds), so
doing precise seeking on it is near impossible.
demux: restructure chapter seeking code

Arrange the code such that commenting the first if will allow doing
stream chapter seeks instead of time chapter seeks again, if both are
possible.
stream_bluray: report chapter times

This was forgotten in commit 7294303.
command: add time-remaining property
Merge branch 'master' into lua_experiment
osd_libass: make sure Z-order is well defined for multiple events

Otherwise, events may overlap in arbitrary ways.
something something I don't know what this is

Apparently fixes an aspect of mouse handling.

Ask pigoz later before this is merged.