Allow passing surrogate-mangled UTF-8 to mpv

Python 3 encodes broken UTF-8 sequences (like from legacy filesystems
etc.) using surrogate-placeholders. Convert these back to the original
data, so that a Python program can use mpv to open files with such
broken filenames.

I'm not sure if this is correct; also I don't know what happens in Python 2.x. Tested with 3.4 only.