audio: Refactored audio_device_c into dedicated module.
audio: Fleshed out device_desc_c.
audio: Device desc is now a class, rather than a struct.
audio: Implemented device_factory_c.
audio-sandbox: Alsa device now created through factory.
Added module-code-delimiter.hpp to nav.
Factory refactor.

This commit generalizes the factory mech that was originally in
video. Our new factory pattern is a pair of class templates that
parameterized on client factory type and client factory id type.

Factory registrars are now located via meyers singleton
functors rather than singletons proper.
Merge branch 'master' into audio
audio: Audio now uses common factory pattern.
audio: Alsa now lives in audio lib.
audio: Added note about what encode_format does.
audio: Renamed a few methods in alsa.