Fixed problem when trying to load already loaded asset

Hi!

This patch fixes problem with refactored loader function that occurs when trying to (re)download already loaded assets.

Couple months ago I sent a PR with a fix for this, which made sure the file wouldn't be redownloaded, and still would call the onComplete function - but it wouldn't call the onError function in this specific situation. 

This patch now does all that: avoids redownloading the given asset, calls the onError function, and properly calls onComplete when finished. 

I messed that first PR when trying to push (squashing) this updated version, so please forgive me for sending it again.
But it gets never used anywhere, because the audio object do exist and therefore the error handler at last do not use it.