Added FlxSoundGroup for managing volume of music/sfx/speech etc separately, closes #362

I snuck another small modification in here, too. Just making a for loop more efficient.

`FlxSound` now has a group. You can set a sound's group either by adding the sound to the group, setting the group of the sound, or by passing the name of a group to `play()`, `load()` or `playMusic()`.

Presently groups must be added to the `FlxSoundFrontend` by calling `addGroup`.

Example use:
```
// Create a group named "sfx"
FlxG.sound.addGroup("sfx");
// Play a sound effect
FlxG.sound.play("mysound", 1, false, "sfx");
// Set sfx volume
FlxG.sound.getGroup("sfx").volume = 0.5;
```
Because the old way was inefficient. My way produces the exact same result, except it breaks out of the loop as soon as it is clear the result will be true. In the old way, even after the result can be nothing but true, it still loops through every other sprite in the sprite group.