demux_lavf: drop "mp:" prefix from filename given to lavf

Opening files with the libavformat AVISynth demuxer ("avs"/avisynth.c)
failed, because the filename we pass to avformat_open_input() was
prefixed with "mp:". Normally, the name doesn't matter, because lavf
reads data with the stream interface. The AVISynth demuxer can't use
this, because the Avisynth API (apparently) can't read scripts from
memory, and requires a filename.

The "mp:" prefix used to be required when mplayer's stream layer was
made available as protocol to ffmpeg. This was replaced by setting
custom stream callbacks in de4908b644 (svn commit 25499), but the
prefix wasn't removed. Since this prefix doesn't have any purpose
anymore and prevents AVS playback from functioning, remove it.
subs: remove pointless --disable-sortsub configure option
core: timeline: prevent inaccurate seeks outside timeline

Ensure that even if a seek is inaccurate it will not show video from
outside the defined timeline. Previously, seeking to the beginning of
a segment could show frames from before the start of the segment if
the seek was done in inaccurate mode and the demuxer seeked to an
earlier position. Now hr-seek machinery is used to skip at least the
frames that should not be part of playback timeline at all.
subs: fix memory leak with external subtitle tracks

Commit 5639702953 ("subs: always use sub decoder framework for libass
rendering") was missing code to free libass tracks allocated for
external subtitle files in the main post-playback code path (while it
did have correct code in the rarely used remove_subtitle_range()
function). Fix.
demux_mkv: work around bad OutputSamplingFrequency values

Something produces corrupt Matroska files with audio tracks that have
SamplingFrequency set to 44100 and OutputSamplingFrequency to 96000,
when the correct playback rate is 44100. Add a special case for this
44100/96000 combination and override it to 44100/44100; it's unlikely
that anyone would ever want to use this 44100/96000 combination for
real in valid files.
af_volnorm: fix output range with float input

af_volnorm can process either int16_t or float audio data. The float
version used 0 to INT_MAX as full value range, when it should be 0 to
1. This effectively disabled the filter (due to all input being
considered to fall in the silence range). Fix.

Reported by Tobias Jacobi <liquid.acid@gmx.net>.
subs: fix vf_ass --subdelay, remove sub_step slave command

Commit 5639702953 ("subs: always use sub decoder framework for libass
rendering") broke --subdelay with vf_ass (it had no effect). Fix.

Remove sub_step slave command (was bound to keys 'g'/'y' by default).
This command allowed displaying the previous/next subtitle, but was
fairly useless as it was implemented by adjusting sub delay by an
amount that made the correct subtitle appear. This changed the delay
setting permanently, and there was no easy way to change it back to
the previous value.

Move the sub_delay variable to the option struct.
win32: add missing include for static pthreads compilation

Commit 5c731e2ea669bb ("configure, Windows: support static pthreads on
Windows") did not add required <pthread.h> include to mplayer.c. Fix.

Reported by "SpOeK".
vf_stereo3d: add new input and output formats

Add new input formats:
side_by_side_half_width_left_first
side_by_side_half_width_right_first.

Add new output formats:
anaglyph_green_magenta_dubois
anaglyph_yellow_blue_dubois
mixer: keep fractional part of volume setting

mixer_setvolume() accepts float values for volume, but used the
integer function av_clip() to limit range, losing the fractional part
as a side effect. Change the code to use av_clipf() instead. For most
uses this shouldn't make any real difference; actual AO volume
settings may not have that much precision anyway.
Merge remote-tracking branch 'upstream/master'