Refactor webRTC stuff a little bit for readability / clarity of what is going on, believe I fixed up a few bugs with many clients joining/leaving repeatedly (related to Issue #158)
Fix a typo/bug
Negotiate the stream properly (offer to receive video & audio at all times), fixes a bug where video doesn't work if an audio-only person starts the call
Only add the local streams to the peer connection once (before creating an offer or answer)
Tweaked the UI for Call: display the username above their video/audio source, automatically resize&subdivide videos on window resize (debounced for perf)