in note skins.
- skins with only one ghost flash can simply override "Common Tap Explosion Bright"
and "Dim"
- don't need to have tons of files to redirect each type of ghost flash
- still supports overriding ghost commands in NoteSkin metrics.ini
- fixes obscure bug: the first bright ghost flash wouldn't hide the last dim ghost flash
XML features, where there's not necessarily any corrolation between elements
of different graphics. This didn't work well, anyway: it'd apply the old tweening
queue to the new graphics, but they might have completely different animations.
This will cause transitions between NoteSkins to be more abrupt, but we don't
use that feature anyway.
Have gameplay objects hold a PlayerState pointer instead of a PlayerNumber and indexing back into GameState.
This will simplify off-screen players (e.g. CPU ghosts, network replicated human players, >2 players using one NoteField)