When reading the preferences, ignore search paths which don't exist (fixes #229).
Otherwise search paths from old program versions installed in different places may keep piling up, eventually causing issues when submitting prefs data because of buffer limits.
Note that I also replaced fexists() in s_file.c with the existence check from g_canvas.c now, since this will also work with directories on all platforms. (fexists used sys_fopen which in turn uses fopen, which can't open directories on Windows.)