When would a libretro core have no extension? fill_pathname() can be fixed to only chip away the extension if it's after the last slash.

The removing '_' part should only be done on iOS and BB then. I'm not sure why it has to have the _ios/_qnx extension though.