XDG directory spec

Fix for #109

This is a full implementation that uses $XDG_CONFIG_HOME and $XDG_CONFIG_DIRS.
The rationale is that since CONFIG_HOME corresponds to /etc and DATA_HOME corresponds to /usr/share, everything should go in CONFIG_HOME.

This currently breaks support on Windows and Mac, so I'd like some pointers on what the config directories on those platforms are.
So that's supposed to cache the config dirs? OK, but this could lead to problems if multiple threads access this, or if there are multiple mpv instances in the same process.

If there's a possibility that the config dirs are different for multiple mpv instances, then this can't be a static variable. If this is not a problem, you still need at least a lock to protect this. Also I suppose it's annoying that this will show up in the leak detectors.