Sound crackling under specific conditions (demo included)

Many, many thanks @matthias.geier for solving the problem in this pull request!

In PsychoPy3 Beta 11, the crackling can be fixed by changing line 192 in C:\Program Files (x86)\PsychoPy3\Lib\site-packages\psychopy\sound\backend_sounddevice.py from for thisSound in self.sounds: to for thisSound in self.sounds.copy():

In PsychoPy 2 1.90.2, however, this change (line 185 in this case) produces the following error:

From cffi callback <function callback_ptr at 0x1554F170>:
Traceback (most recent call last):
  File "C:\Program Files (x86)\PsychoPy2\lib\site-packages\sounddevice.py", line 1008, in callback_ptr
    return _wrap_callback(callback, data, frames, time, status)
  File "C:\Program Files (x86)\PsychoPy2\lib\site-packages\sounddevice.py", line 2773, in _wrap_callback
    callback(*args)
  File "C:\Program Files (x86)\PsychoPy2\lib\site-packages\psychopy\sound\backend_sounddevice.py", line 185, in callback
    for thisSound in self.sounds.copy():
AttributeError: 'list' object has no attribute 'copy'