Implement XDG basedir spec support (#109)

Only uses XDG_CONFIG_HOME and XDG_CACHE_HOME. Appropriate, equivalent(ish)
behavior is implemented for Windows. Cygwin is treated as not-windows. The
watch_later functionality now stores its files in the cache dir.

Still supports the ~/.mpv path if it exists, but warns about the change to
the new one. That codepath is toggleable by the SUPPORT_OLD_CONFIG internal
define, in case it's ever wanted. Note that it is ignored if it's a
symlink, to allow symlinking to the new path to support older versions.

On Windows, the config files are now stored on %AppData%\mpv, unless there
is an "mpv" dir in the same folder as the mpv.exe. Cache files always go
on %LocalAppData%\mpv, but it's possible to make it put the files in the
exe-local "mpv" dir by changing the ALWAYS_LOCAL_APPDATA define to 0.