this gives us several benefits, including:
* easier extensibility- new optional methods can be added to
ac97/mixer/channel classes without having to fixup every driver.
* forward compatibility for drivers, provided no new mandatory methods are
added.
once built, 'kld_load snd_driver; kldunload snd_driver' will load all sound
drivers and unload all unattached ones. attached drivers do not yet support
unloading.