added repeat 'atTime' feature to audio.play

This PR makes it possible to define a time (audio reproduction time range) at which the sound should be repeated. It allows you to force a seemless/gapless sound loop, even with your browser's limitations (the delay that occurs in most if not all systems between the end of the execution of the audio 'iteration' and the proper restart). Works even if your file has a gap at the end (if an .mp3, for example), but obviously not at the beginning.

Usage:
``` // Repeat (forever) when sound reach second 23.2. Should actually repeat somewhere between second 23.2 and 23.4.```
``` Crafty.audio.play("backgroundMusic", -1, 1, 23.2); ```
Shouldn't this be the sounds object `s`? `var s = this.sounds[id];`