message/call views: ui overhaul

This patch:
- implements QWebEngineView as the view for interactions
- reorganizes the main widget's layout in order to share views
  between in-call and out-of-call messaging views
- fixes behavioral bugs and crashes
- cannot be built with the mingw compiler due to lack of support for
  QWebEngine, and must be built natively with msvc and includes some
  build script modifications
- should be thought of as a new client

Change-Id: I59d8c68dc8384e85fb006f30d8313482c00d6c85
diff --git a/smartlistmodel.h b/smartlistmodel.h
index 9071599..1da0a65 100644
--- a/smartlistmodel.h
+++ b/smartlistmodel.h
@@ -25,8 +25,6 @@
 #include "api/conversation.h"
 #include "api/contact.h"
 
-#include "messagemodel.h"
-
 namespace lrc { namespace api { class ConversationModel; } }
 
 class SmartListModel : public QAbstractItemModel
@@ -47,6 +45,7 @@
         UnreadMessagesCount,
         LastInteractionDate,
         LastInteraction,
+        LastInteractionType,
         ContactType,
         UID,
         ContextMenuOpen
@@ -62,7 +61,8 @@
     QModelIndex parent(const QModelIndex &child) const;
     Qt::ItemFlags flags(const QModelIndex &index) const;
 
-    bool isContextMenuOpen_{false};
+    // hack for context menu highlight retention
+    bool isContextMenuOpen{ false };
 
 private:
     const AccountInfo& acc_;