vo_lavc: use mp_image_copy_fields_to_av_frame
vo_lavc: do NOT fill pict_type from the mp_image

Doing this makes the encoder force the same pict type as original, which
is often not even possible. Rather let the codec decide!

As there is no documented value to mean "decoder shall pick", I rather
save/restore the default value filled by libavcodec.
cache: actually use time instead of retry count for slow cache warning

There's actually no reason to maintain a retry count, and this is more
robust against spurious wakeups.
osdep: remove shmem wrapper

This is unused now that the cache is always threaded.
sd_srt: handle '<font color="##FFA500">'

Wow this is stupid.
cache: fix stream_pts caching

Or rather, keep hacking it until it somehow works. The problem here was
that trying to avoid calling STREAM_CTRL_GET_CURRENT_TIME too often
didn't really work, so the cache sometimes returned incorrect times.

Also try to avoid the situation that looking up the time with an
advanced read position doesn't really work, as well as when trying to
look it up when EOF or cache end has been reached. In that case we have
read_filepos == max_filepos, which is "outside" of the cache, but
querying the time is still valid.

Should also fix the issue that demuxing streams with demux_lavf and if
STREAM_CTRL_GET_CURRENT_TIME is not supported messed up the reported
playback position.

This stuff is still not sane, but the way the player tries to fix the
playback time and how the DVD/BD stream inputs return the current time
based on the current byte position isn't sane to begin with. So, let's
leave it at bad hacks.

The two changes that touch s->eof are unrelated and basically of
cosmetic nature (separate commit would be too noisy.)
configure: remove redundant WINVER set
vo_lavc: remove unused variable
ao_wasapi0: add new wasapi event mode ao
Merge branch 'master' into HEAD
kill trailing spaces
kill doubleclicks