Introduce lazy construction of SM Sounds.

Basically, in certain situations, SoundManager does everything in
its power to make your life miserable.

These changes are basically just to make sure that we don't construct
an actual soundManager object until absolutely necessary.