Adding Mocked implementation of RTCPeerConnectionHandlerWebRTC

This will be the main class of webrtc library RTCPeerConnection backend implementation
We only have one RTC backend (using webrtc library), so when MEDIA_STREAM is enabled we
enable WTF_USE_WEBLIBRTC by default.

Reviewed by: Hugo Parente Lima
Adding a webrtc::MediaConstraintsInterface derived class

This is required in order to interact properly with webrtc library methods.
This commit also adds a helper class, containing some methods that translate
some webkit stuff to the webrtc library equivalent.

Reviewed by: Hugo Parente Lima
Creating a webrtc library PeerConnection object

In order to create a webrtc PeerConnection, we must provide a
webrtc::PeerConnectionObserver object to the PeerConnection's creation method.
This observer will be the bridge between the webrtc PeerConnection object events
and WebKit.
This commit also adds a header with some definitions that are needed in order to
use the webrtc headers (since they do not provide clean headers)
We also needed to disable the DisallowCType and let Nix use ctype functions,
because webrtc library uses them.

Reviewed by: Hugo Parente Lima
Adding add/removeStream implementation

Reviewed by: Hugo Parente Lima
Implementing createOffer and createAnswer functions

In order to use webrtc we need to provide a webrtc::CreateSessionObserver,
so we can grab the createOffer and createAnswer events that come from webrtc
and pass them to WebKit

Reviewed by: Hugo Parente Lima
Implementing setLocalDescription and setRemoteDescription

In order to use webrtc we need to provide a webrtc::SetSessionObserver,
so we can grab the setLocalDescription and setRemoteDescription events that come from webrtc
and pass them to WebKit

Reviewed by: Hugo Parente Lima
Adding the ice related implementations

Reviewed by: Hugo Parente Lima
Adding getStats implementation

In order to use webrtc we need to provide a webrtc::GetStatsObserver,
so we can grab the getStats events that come from webrtc and pass them to WebKit

Reviewed by: Hugo Parente Lima
Returning a RTCPeerConnectionHandlerWebRTC instance in RTCPeerConnectionHandler::create

Reviewed by: Hugo Parente Lima
Adding RTCDataChannelHandlerWebRTC class

This class will interact with webrtc library to perform the datachannel stuff
In this commit we also add the observer that will be listening for the events
that are coming from lib webrtc and will forward it to WebKit

Reviewed by: Hugo Parente Lima
Activating the RTCDataChannelHandler from RTCPeerConnectionHandler class

Reviewed by: Hugo Parente Lima