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.
Merge pull request #2 from wm4/surrogates

Allow passing surrogate-mangled UTF-8 to mpv