fix for zlib weirdness from latest gentoo update
Fix build of mupen64plus on non-gentoo systems
- Added shell32.lib as a dependency to VS project (because some functions like SHGetSpecialFolderLocation are used)
- #define inline __inline in mupen64plus-core for Visual Studio, since 'inline' doesn't work on Visual Studio (2008) for C files.
- Added a reset.c file with functions to perform soft and hard resets
- Add support for multiple path separators instead of just one
- Added a PluginGetVersion to the dummy plugins, so they can be handled as if they were a real plugin
- Added new frontend APIs:
      Get screen width
      Get screen height
      Read screen
      Volume up
      Volume down
      Get volume level
      Set volume level
      Mute volume
      Input callback
      Soft reset
      Advance frame
      Audio callback
      Get audio frequency
      Read audio samples
      Vi Callback

- Reorganized internal rom_header structure so field sizes make more sense
- Added two systemtype and vilimit properties to m64p_rom_settings
  so frontends can get this information easily instead of looking at ROM header,
  and also simplifies some internal logic
- Some other refactoring/commenting
Remove some leftovers from the last commit.
Do some refactoring around savestates.c. Note the fixed memory leak on PJ64 savestates. Needs testing and more refactoring tough.
Quick fix: Don't pass an unitialized zip_fileinfo* to minizip, passing NULL is OK and deterministic.
Don't limit path length for savestates path.
Use strdup instead of manually copying.
config.c: Use trim() from util.h instead of custom routine.
Reorganize util.c so that functions are defined in the same order in which they are declared. Add combinepath function to util.c and use it in config.c
Remove duplicated section finding code. Found out that there was already a line to NUL-terminate configtext, but don't overallocate anyway.
Remove duplicated section finding code. Found out that there was already a line to NUL-terminate configtext, but don't overallocate anyway.
More malloc+strcpy to strdup replacements
Keep all values on an union instead of having a variable for each type.
Add find_section_link to remove duplicated code. Also delete redundant checks since free(NULL) is a noop.
Don't risk blowing up a config section to save a small allocation. Minor simplifications related to last change.
Centralize config_var creation code. Note the fixed memory leaks on ConfigSetDefault* in case strdup fails.
Fix a new memory leak introduced by previous commit.
Compilation fix.
Allow config section names of arbitrary length. Centralize section creation code.