vf_scale: actually respect param and param2 suboptions

This was forgotten in commit b81f5e2.
audio/decode: remove macro crap

Declare decoders directly, instead of using the LIBAD_EXTERN macro. This
is simpler (no weird magic) and more extensible.
af: fix recovery code for filter insertion (changing volume with spdif crash)

This code is supposed to run if dynamic filter insertion (such as when
inserting a volume filter in mixer.c) fails. Then it removes all filters
and recreates the default list of filters. But the code just blew up and
entered an endless loop, because it removed even the sentinel in/out
filters. This could happen when trying to use softvol controls while
using spdif, but also other situations. Fix it by calling the correct
code.

Also remove these obnoxious yoda-conditions.
af_force: add option that causes filter to fail at initialization

This is useful for debugging.
audio/filter: use new option API

Make the VF/VO/AO option parser available to audio filters. No audio
filter uses this yet, but it's still a quite intrusive change.

In particular, the commands for manipulating filters at runtime
completely change. We delete the old code, and use the same
infrastructure as for video filters. (This forces complete
reinitialization of the filter chain, which hopefully isn't a problem
for any use cases. The old code forced reinitialization too, but it
could potentially allow a filter to cache things; e.g. consider loaded
ladspa plugins and such.)
af_force: use new option API
af_lavrresample: switch to new option API

Also add a "o" suboption, which should allow fine control over
libavresample.
af_scaletempo: use new option API
af_lavfi: switch to new option API

This makes it actually possible to use the filter with more complicated
filter graphs (such as graphs containing the "," character).
af_bs2b: use new option API
core: make --demuxer not affect external subtitles

This also affects --audiofile. The previous behavior wasn't really
useful. There are even separate switches for that: --audio-demuxer and
--sub-demuxer.
av_log: restore handling of prefixes and line breaks

Commit 9a83d03 accidentally removed this. (Overlooked "static"?)

The handling of this rather sucks. Maybe a better solution will be
possible once we clean up the mp_msg code.
mplayer: cosmetics: move function

Also get rid of the useless comment.
ao_coreaudio: simplify render callback

Read only the requested amount by the AUHAL (instead of all the buffered data).
No idea what the deal is with pausing the audio units if there is no audio to
play, maybe to avoid underruns of some sort. Anyway from my tests this
condition never occurred so I'm removing it all.
ao_coreaudio: rewrite spdif render callback
ao_coreaudio: simplify digital render callback

It was reported that it also works by not setting the read size in the
AudioBuffer (now idea how, but I will discover it later).
ao_coreaudio: dry up ca_msg and use it everywhere

Change the ca_msg macro to pass along MSGT_AO automatically. Also use it for
every output for consistency.
ao_coreaudio: add error check function and macro

WIP
ao_coreaudio: make variable names shorter

property_address -> p_addr
ao_coreaudio: split out some utility functions and refactor them

Split out some utility functions that use the CoreAudio API but are not related
the main task of the AOs (which is to move data correctly to the ringbuffer).
These are mainly need for the verbosity of the CoreAudio API and are just
obscuring the 'real' code.