remaking the audio context works better
added audio.GetAllInputDevices()
added audio.GetAllOutputDevices()
the ability to choose what input device to use when creating an audio capture object
the ability to choose the output device in audio.Open(device_name)
all timer types are now pcalled and removed on error