Drop use of the textChat property in offer/answer messages

This patch removes the use of the `textChat` boolean flag we pass in `offer` and `answer` messages to distinguish regular audio and video calls from text chat conversations using data channel only. 

This also adds a new `WebRTC.SDP` constructor which implements supplementary logic to help extracting enabled constraints and checking them.

Suggested reviewer is @Standard8 because we discussed this on IRC already.