player: remove unused declaration
demux: fix playback abort if --demuxer-thread is not used

Switching tracks caused cached_demux_control() to catch the command to
switch tracks, even if no thread was running. Thus, the tracks were
never really switched, and EOF happened immediately on playback start.

Fix it by not using the cache at all if the demuxer thread is disabled.
The cache code still has to be called somewhere, though, because it
handles stream metadata update.

Regression from today.
client API: qtexample: don't pass deallocated strings to mpv

The temporary QByteArray is deallocated already at the end of the
statement in C++, instead of the end of the scope (like in C).