Replace debugger condition variable with semaphore.

There was a possible race condition where API callers may have been able to
call DebugStep multiple times, but the debugger would not react to each call. By
using a semaphore, each call will be handled regardless of how quickly any step
completes.
add ConfigSetParameterHelp to the API, update minor version
Moving Average Filter for vi timing
Fix build after cp0 module extraction

Introduced in 5c247de4b12cd1e64711e95df90591c12b58759d ("Put CP0 into its own
module")

/tmp/mxe/usr/x86_64-w64-mingw32/include/winnt.h:1573:10: error: conflicting types for '__movsb'
     VOID __movsb(PBYTE Destination,BYTE const *Source,SIZE_T Count);
          ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/intrin.h:994:5: note: previous declaration of '__movsb' was here
     __MACHINEI(void __movsb(unsigned char *,unsigned char const *,size_t))
     ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/winnt.h:1574:10: error: conflicting types for '__movsw'
     VOID __movsw(PWORD Destination,WORD const *Source,SIZE_T Count);
          ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/intrin.h:995:5: note: previous declaration of '__movsw' was here
     __MACHINEI(void __movsw(unsigned short *,unsigned short const *,size_t))
     ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/winnt.h:1575:10: error: conflicting types for '__movsd'
     VOID __movsd(PDWORD Destination,DWORD const *Source,SIZE_T Count);
          ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/intrin.h:996:5: note: previous declaration of '__movsd' was here
     __MACHINEI(void __movsd(unsigned __LONG32 *,unsigned __LONG32 const *,size_t))
     ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/winnt.h:1576:10: error: conflicting types for '__movsq'
     VOID __movsq(PDWORD64 Destination,DWORD64 const *Source,SIZE_T Count);
          ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/intrin.h:997:5: note: previous declaration of '__movsq' was here
     __MACHINEX64(__MINGW_EXTENSION void __movsq(unsigned long long *,unsigned long long const *,size_t))
     ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/winnt.h:1577:10: error: conflicting types for '__stosb'
     VOID __stosb(PBYTE Destination,BYTE Value,SIZE_T Count);
          ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/intrin.h:1032:5: note: previous declaration of '__stosb' was here
     __MACHINEI(void __stosb(unsigned char *,unsigned char,size_t))
     ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/winnt.h:1578:10: error: conflicting types for '__stosw'
     VOID __stosw(PWORD Destination,WORD Value,SIZE_T Count);
          ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/intrin.h:1033:5: note: previous declaration of '__stosw' was here
     __MACHINEI(void __stosw(unsigned short *,unsigned short,size_t))
     ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/winnt.h:1579:10: error: conflicting types for '__stosd'
     VOID __stosd(PDWORD Destination,DWORD Value,SIZE_T Count);
          ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/intrin.h:1034:5: note: previous declaration of '__stosd' was here
     __MACHINEI(void __stosd(unsigned __LONG32 *,unsigned __LONG32,size_t))
     ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/winnt.h:1580:10: error: conflicting types for '__stosq'
     VOID __stosq(PDWORD64 Destination,DWORD64 Value,SIZE_T Count);
          ^
/tmp/mxe/usr/x86_64-w64-mingw32/include/intrin.h:1035:5: note: previous declaration of '__stosq' was here
     __MACHINEX64(__MINGW_EXTENSION void __stosq(unsigned __int64 *,unsigned __int64,size_t))
Merge pull request #22 from wnayes/debugger-step-racecond

Replace debugger condition variable with semaphore.
Merge pull request #23 from Narann/master

add ConfigSetParameterHelp to the API, update minor version
fix memory leak
Removed malloc/free for interrput queue
Removed malloc/free for interrput queue
Removed malloc/free for interrput queue
rewrite vi interrupt speed limiter based on pull request #24 from ricrpi on github. the original algorithm had some undesirable behaviors
Merge pull request #25 from ursulaabendroth/build_error

Fix build after cp0 module extraction
pulled vi timing code from mupen64plus
Merge remote-tracking branch 'mupen64plus/master'
Merge pull request #26 from ricrpi/master

removal of malloc/free for interrupt linked list
use all of the queue entries. simplify the clear_queue function
update config api to 2.3.0 in wiki doc with new function ConfigSetParameterHelp
Merge pull request #27 from Narann/master

update config api to 2.3.0 in wiki doc with new function ConfigSetParame...