Added another state to AudioTask to check whether the method play() has been called for an AudioTask yet
Fixed status checking of audio tasks, that were added from another thread, than the one that executes the timer in AudioPlayer, which does the status checking. Apparantly the Media Control Interface (MCI) does not like having aliases created from one thread and then controlled from another. Therefore the method call to play() of AudioTask is moved into the time of AudioPlayer to ensure that one thread does it all. Futhermore resetting an AudioTask without removing it afterwards will cause the AudioTask to be restarted and replayed