Split AvatarData into base and derived classes

This removes AvatarMixer's dependency on AvatarData (most of which
belongs in the Avatar class) and simplifies AvatarMixer.