Add ability to obtain video stream from webcam

Can now obtain the video stream from the webcam via HTML5. The code also
chops up the stream into a series of jpegs ready to transmit to the
server, however that part is still in development.
Add basic websocket communication

Add the ability to communicate one or two messages between node and
server via web sockets. But still need to develope code to loop over
many messages send by remote node, by converting jpeg byte string to a
proper jpg binary file.
Add function of writing Base64 string to file

The images comming from webcam stream are spliced up jpg images, encoded
in Base64 strings. This commit add code that is capable of decoding the
Base64 back to image binary data, and outputted to a proper jpg file.
Add continuous loop to save video stream to server

Add code that continuously loops and saves the series of jpg to the
video_data folder as testing.jpg. May refactor in the near future to
send ImageData embedded in JSON.
Fix typo, it was causing video streaming to fail
Add ability to capture sound function and download wav
Add VideoCapturer class to make code cleaner

Felt the code was getting a bit ridiculus, sectioned out the video
stream capturer code out to make it cleaner. Audio is a bum, the
recorder.js I'm working with uses a callback function to return a WAV,
instead of a normal return. Which makes life difficult...
Add ability to stream audio to server

Can now stream audio in the form of a wav file to server. Similar to how
video stream is transmitted, the audio is sliced up into a time interval
slice. Future work will require the server to stitch up the audio and
video together.

More work needs to be done on making the bug less error prone. At the
moment the code assumes good connection. But need to add in more robust
code if connection is broken, such as broken websockets.
Fix audio slicing bug

There was a problem while recording audio. I wasn't recording and
stopping with the correct time interval gap, it was starting/stopping
immediately, which led to no sound being recorded. The fix simply
multiplies the setInterval loop time to 2.
Add stop audio streamming when websocket is closed
Audio/Video capturer share same websocket object

Modified code so that the audio and video capturers both share the same
websocket object. Can now sucessfully transmit both audio and video
stream.
Modify term CPU id to Group id in the go server

Modifying the term CPU id to Group id, since that makes more sense. This
would mean different mobile phones can be grouped together with a group
id each with their own unique node id.
Fix audio slicing attmpt 2

Second attempt in fixing audio slicing, before I started recording,
stopped and transmitted. This time its the other way round, because
previously the start recording code part always cleared the recorded
audio, thus it was transmitting an empty audio file.

This time however because the code runs start recording after* stop and
transmit, the audio file has content in it.
Merged @chutsu's pull request #2