New chat view using gtkwebkit

This changes the text buffer widget to a WebKitWebView so that we can
use web technologies to control the display.

This change comes with a new dependency: libwebkit2gtk-4.0. Should
this dependency not be available on the system, we can also build the
client using libwebkit2gtk-3.0. However, the links won't be clickable.

New features:
 - Implemented delivery reports.
 - Avatars are now displayed in the chat window.
 - Links in the chat window are now clickable.

When the client is launched with the -d option, you may right click on
the chat view to open up the dev tools.

In order to improve performance, one WebKitWebView is re-used for all
of the ChatViews, since we only display one at a time.

Tuleap: #1073
Change-Id: Ic945fa6c92f92e391f0362310ddc2f0fa16641bf
[stepan.salenikovich@savoirfairelinux.com: added change_view(); start
 loading webkit on window init; destroy webkit on dispose; prevent
 warning when dispose is called more than once on ChatView]
Signed-off-by: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
diff --git a/ui/webkitchatcontainer.ui b/ui/webkitchatcontainer.ui
new file mode 100644
index 0000000..9a401b9
--- /dev/null
+++ b/ui/webkitchatcontainer.ui
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <requires lib="gtk+" version="3.10"/>
+  <template class="WebKitChatContainer" parent="GtkBox">
+    <child>
+      <object class="GtkBox">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <child>
+          <object class="WebKitWebView" id="webview_chat">
+            <property name="visible">True</property>
+            <property name="hexpand">True</property>
+            <property name="vexpand">True</property>
+          </object>
+        </child>
+      </object>
+    </child>
+  </template>
+</interface>