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;
```
The more I think about this change the more I want to automate this functionality. Something like:

```
public function getGroup(name:String):FlxSoundGroup
{
	if(!groups.exists(name))
		groups.set(name, new FlxSoundGroup());
	return groups.get(name);
```

That would eliminate the need for users to spawn sound groups manually and would simplify their usage.