Replaced generic exclude mechanism by updir filter in FileLister

The exclude mechanism was only used to filter out ".." for the skins
lister, so this lighter filter does all we need.
Put trivial FileLister method implementations in header

This cuts a few hundred bytes off the stripped binary size.
Removed FileLister::at

In the STL, 'at' will perform range checking while operator[] will not.
Since GMenu2X doesn't use exceptions, range checking is not possible,
so 'at' and operator[] were identical.
Removed FileLister::insertFile

This was a nasty hack to insert English into the list of translations.
Instead of modifying the scan results, make a copy and modify the copy.
Skip stat() call when the d_type field can tell us the file type

This is a BSD extension also present in glibc and uClibc. Not all libc
implementations and not all file systems support it, so we keep the
stat-based code as a fallback.
Convert file name to C++ string as late as possible

This avoids copying the string if the file is rejected because its
category (directory or regular file) is disabled.
Use proper feature test macro for d_type support
Simplified file extension filtering code

Don't create any temporary strings, just use the d_name field and
strcasecmp.