The WeightedObjectChooser supports a next() method which returns a randomly chosen Object
whose probability of being chosen is weighted. In this example, a WeightedObjectChooser implements
the Behavior interface and so, can be used to choose a random Composable every time a SequentialCollection
repeats. Note that the SequentialCollection itself contains no children (!), as it depends entirely on
its Behavior to provide it with the next Child to launch every time it repeats.
Scrollbars are provided to set the relative weights of the three MusicShapes used here.
Thanks to Larry Polansky for suggesting that WeightedObjectChooser be part of JMSL.