replace char[MAX_PATH] with string cache and std::string

remove tolower() in path-related routines

CacheString intended for use with POD objects
linux/GTK port

autotools, compatibility headers