[FlxSound] Clean up `destroy()` code

Made sure to properly destroy all objects, though, a few objects seem to be destroyed more than once.
Removes all event listeners before destruction.

Also cleans up some of the ASDoc or adds it where needed.