Documenting practice with candidate events

Three changes:
* RTCIceCandidate is now less optional and immutable
* sdpMid and sdpMLineIndex are mandatory for the browser to provide
* the candidate attribute on the icecandidate event is now actually nullable and there is documentation that explains what it means
There's a "required" keyword you can add to dictionary members in WebIDL. I think it's pretty new. [1]
http://heycam.github.io/webidl/#idl-dictionaries