manpage: mention how to get a list of codecs for use with --hwdec-codecs
wayland: fix fullscreen & resizing for good

I added enough logic to never set ontop or fullscreen twitce.
This commit keeps also the size of the video if multiple videos are played.
If the ratio differs the width will be kept at the same size and only the
height changes.
ao_pulse: add suboption to control buffer size
ao_pulse: lower default buffer size from 1000ms to 250ms

1000ms is a bit insane. It makes behavior on playback speed changes
worse (because the player has to catch up the dropped audio due to
audio-chain reset), and perhaps makes seeking slower.

Note that the problem of playback speed changes misbehaving will be
fixed in the future, but even then we don't want to have a buffer that
large.
terminal: don't initialize termcap etc. if stdout is not a terminal

Otherwise, it seems one of the term* libraries will write escape
sequences to stdout, for whatever reason.
Switch PDF manual generation to rst2pdf

This finally gets rid of the LaTeX dependency.

We should actually be using docultils directly here, but I didn't
do this because of all the potential Python 2/3 breakage.
wayland: use static consistently

Declare everything that is only needed inside wayland_common.c as static.
wayland: remove set_user_data from seat_listener

The user_data is passed on add_listener and can later be changed with
set_user_data. But because we don't want to change it later and because it is
the same object remove the set_user_data call.

This might be a copy&paste leftover from the initial draft for the wayland
backend.
wayland: cleanup registry_handle_global

The wl_registry object is already passed as a parameter. No need to create
a temporary variable.
waf: do not use TaskGen for PDF build rule

No longer necessary.
player: fix setting smaller timeout on Windows systems

On Windows, we don't have proper input event wakeup handling, so we
need to lower the playloop timeout in order to react fast to input.

Closes #387.
wayland: fix memory leaks

There are still some leaks from wayland-cursor stuff, but there is no way to
free the memory as user of the cursor library.
wayland/shm: tone down warnings

Those warnings are printed far too often and actually aren't usefull at all.
screenshot: add format specifiers to get file directory path

Useful if you want to put the screenshot into the same directory as the
file that is being played.
player: strip 'file://' from filenames on playback start

This fixes two things:

1. Dropping files on the VO window will auto-load subtitles (since most
   drag & drop code prefixes the filenames with 'file://', and the
   subtitle auto-load code considers 'file://' non-local)
2. Fix behavior of the %x screenshot filename template (similar problem)

One could force all that code to special-case 'file://' URLs, but just
replacing the filename on playback start is simpler.
wayland: fix crash when initialization fails

On X11, if no wayland compositor is running, wl_list_init() will never
be called. This will cause destroy_display() to segfault when trying to
iterate over the list.
wayland/shm: don't crash if initialization failed
wayland: properly empty output list
command: don't access VO for output parameters

Use the video chain for this instead. This is for facilitating coming
changes, which will clean up the vo->aspdat stuff, and this code would
be in the way.
options: don't reset pause mode when switching to next file

This basically reverts the default as set by commit 812798c5. This seems
to be a matter of taste, but personally I think keeping the pause
setting is better.