Fixed bugs preventing joysticks from being added without restarting the game.

There was an bug preventing adding new joysticks while the game was running.  I have fixed the main issue but was not able to fix two other problems which follow:
1. Calling the unmanaged WinMM function joyGetPosEx sometimes throws System.AccessViolationException, and I have not been able to figure out why.
2. Sometimes when Refresh is called the list of joysticks in WinMM is not yet ready to be queried.