Main function is only responsible for setting up audio/video
Stylistic changes to make me feel happier
fixup! Main function is only responsible for setting up audio/video
WIP: Tighten up the public interface.

Move setup functions out of the prototype, mainly, and make it easier to
throw in some sort of promises based solution for dealing with the audio
and/or video setup in future.

The end result should be something much smaller that only deals with
starting up the webcam and audio streams, and makes it easier to plug in
things that manipulate those things.
WIP: Add in some promises

The init functions aren't aware of whether or not audio or video is
enabled by the user, so this might fail. Also it's not tested
anyway *bites fist*