commands: format shown property time values like OSD time

Converting time-based property values to strings via M_PROPERTY_PRINT
resulted in a string different to what the OSD displays (if the OSD
level is >= 2).

Change it to match the OSD.
quvi: Add support for streaming sites using libquvi

This enables playing URLs from libquvi supported streaming sites
directly, e.g. "mplayer http://www.youtube.com/watch?v=...."

Anything opened with mplayer is checked with libquvi. If it looks like
a URL of a supported streaming site, libquvi is used to extract the
media URL, which is then passed to the lower level mplayer code
instead of the HTML URL. Hopefully the libquvi URL checker works well
enough that it doesn't cause any problems with normal URLs, files, or
whatever else mplayer's stream layer accepts.

Add the --quvi-format option. The option value is directly passed
to libquvi as requested format. The only values that seem to work for
any streaming site seem to be "best" (best quality) and "default"
(lowest quality). The mplayer option defaults to "best" (overriding
libquvi's default).

Outstanding issues:
- Does libquvi checking every opened file really not cause problems?
  Should there be a runtime option to disable libquvi use?
  (Probably not an issue.)
- Should we check/set the supported protocol? By default libquvi has
  support for all protocols enabled. In the worst case, it might
  return an URL using a protocol not supported by mplayer, even though
  it could extract URLs with other protocols too.
  (Probably not an issue.)
- Somehow export metadata (like media title) to the mplayer frontend?
OSD/commands: use osdlevel=3 for osd_show_progression command

The osd_show_progression command ('P' key) created text similar to
what --osdlevel=3 shows, and set that as an OSD message. This message
was static and wasn't updated while visible, even if video position
changed (very noticeable during fast forward, when real OSD position
changes rapidly). Instead of setting a static message, create a new
message type that makes the OSD update code behave as if osd level was
set to 3 for the duration of the message. This also avoids having a
duplicated version of the position text formatting logic.
screenshot: improve quality by using additional swscale flags

Adding these flags improves the quality of the YUV->RGB conversion when
screenshots are taken. It trades precision for performance.

This doesn't affect any other swscale uses, such as vf_scale or vo_x11.

Based on a patch by cantabile. Fixes #140.
cocoa_common: improve conditional dock hiding from 3259e4a7a

Make the conditional hiding logic introduced in commit 3259e4a7a2a938
("cocoa_common: make fullscreen menubar/dock hiding conditional") work
when mplayer is started with the `fs` and `xineramascreen` options.
cleanup: remove XvMC remains, reformat img_format.c

Remove remaining references to XvMC. It was already not supported;
remove references to the imgfmt too. Reformat img_format.c.
options, codecs.conf: unify imgfmt name parsing

m_option.c and codec-cfg.c both had their own mostly duplicated lists
to map name strings to imgfmt numbers. Replace them with a unified
list in img_format.c.
video: support GBR mode h264 decoding

Add support for GBR pixel formats (used by special x264 encoding
mode). When these formats are not directly supported, converting them
to RGB would be sanest. However, it seems that currently libswscale
only supports GBRP* -> RGB conversions in the 8-bit case. So only add
entries to the vf_scale preferred conversions list for that case.

Also add 422P9 support (for some reason only depths 8, 10 and 16 were
supported for 422).
video: default to colorspace/range from libavcodec

Make the default "auto" mode for colorspace/range settings use
information from libavcodec if available. If libavcodec does not
export known colorspace/range information for the video, fall back to
the previous heuristics (input colorspace is selected based on video
resolution and range is assumed to be limited).
af_scaletempo: fix crash after channel reconfiguration

af_scaletempo could crash if the audio format was changed with
AF_CONTROL_REINIT while the filter was active. In a test case this
happened when audio channels were reconfigured from 6 channels to 2
and playback speed was set to 2. The problem is that reinitialization
does not properly reset filter state. Thus the amount of buffered
audio can be larger than the new maximum buffer size, i.e. the
invariant bytes_queued <= bytes_queue is violated. As a result, memcpy
is called with a negative size.

Fix this by resetting the buffer length when reconfiguring (set the
bytes_queued variable to 0). Also reset some other state for clarity
and robustness, although these changes aren't strictly needed for
avoiding the actual crash.

This may also get rid of some noise played after reinitialization,
caused by using the old buffer contents which were now in the wrong
audio format.
Add wayland support

Implements shared routines for initialising wayland and keyboard/pointer input.
Indepentend from the video output.
Add wayland egl support for vo_gl
Enable build for wayland egl

This uses 2 defines
 * CONFIG_WAYLAND
 * CONFIG_GL_WAYLAND

CONFIG_WAYLAND is not used at the moment
wl_egl: remove appendstr
wl: check for PREFFERED mode and remove positions
wl_egl: remove loop around wl_display_roundtrip