Changed CompositeStates to allow overlap without nesting.  Previously,
when a state was added to a CompositeState, the fact that the state was
contained in the composite was represented by having the state reference
its composite "parent."  However, the implication of that was that a
state could exist in only one composite at a time.  If a state were
added to a second composite, it would no longer be associated with the
first... which was bad.  Now States can exist in multiple
CompositeStates simultaneously.