Add web RTC service to encapsulate API calls.
Move native webrtc stuff to webrtc-service, clearing the way for matrix-call/matrix-phone-service to be unit tested.
Make things work again. Remove defer since it was automatically digesting it.
Move all initiated webrtc callbacks to be behind defers, and all non-initiated webrtc callbacks behind scope.apply. Added lots of 'ng' methods to the peerConnection to support this.
Use $timeout since we can't rely on $apply since we can't rely on the webrtc callbacks being called in a sensible order.
Don't try to getTurnServer in the constructor of MatrixCall, as it makes testing difficult, and instead invoke it on app startup along with all the other setup code.
Add matrix call unit tests.
Add webrtc-service unit tests.

Fix a bug which caused browsers which abide partially to web RTC to be treated
as if they fully abided.
More webrtc-service unit tests.
Some CSS tweaks
Merge branch 'webrtc-refactor' into develop