Change some member variables to unsigned type.
Wrap audio_hardware into voicebox namespace.
Access audio_hardware through a singleton.
Set audio levels.
Add device scanning, opening, reopening and closing logic.
Clean out cruft.