Add `common` subproject containing shared files

Move classes in `model` to their own `common` package.
Now, the client and server can import `common` as a library.
This is the first step to eventually migrate all the source code at the root of the
project to an `old-server` package.

GitLab: #55
Change-Id: I4b7a52e80171d9c3399416ab524bcdd6915ac540
diff --git a/client/src/components/AccountPreferences.tsx b/client/src/components/AccountPreferences.tsx
index cfbc0ec..db3e62d 100644
--- a/client/src/components/AccountPreferences.tsx
+++ b/client/src/components/AccountPreferences.tsx
@@ -35,10 +35,10 @@
   Typography,
 } from '@mui/material';
 import { motion } from 'framer-motion';
+import { Account } from 'jami-web-common';
+import { AccountDetails } from 'jami-web-common';
 import { useState } from 'react';
 
-import Account from '../../../model/Account';
-import AccountDetails from '../../../model/AccountDetails';
 import authManager from '../AuthManager';
 import ConversationAvatar from './ConversationAvatar';
 import ConversationsOverviewCard from './ConversationsOverviewCard';
diff --git a/client/src/components/ConversationList.tsx b/client/src/components/ConversationList.tsx
index f53aed8..b70001a 100644
--- a/client/src/components/ConversationList.tsx
+++ b/client/src/components/ConversationList.tsx
@@ -19,9 +19,9 @@
 import List from '@mui/material/List';
 import ListSubheader from '@mui/material/ListSubheader';
 import Typography from '@mui/material/Typography';
+import { Conversation } from 'jami-web-common';
 import { useEffect } from 'react';
 
-import Conversation from '../../../model/Conversation';
 import { useAppSelector } from '../../redux/hooks';
 import ConversationListItem from './ConversationListItem';
 
diff --git a/client/src/components/ConversationListItem.js b/client/src/components/ConversationListItem.js
index 9c85733..0bcb0b3 100644
--- a/client/src/components/ConversationListItem.js
+++ b/client/src/components/ConversationListItem.js
@@ -16,12 +16,12 @@
  * <https://www.gnu.org/licenses/>.
  */
 import { Box, ListItem, ListItemAvatar, ListItemText, Stack, Typography } from '@mui/material';
+import { Conversation } from 'jami-web-common';
 import { QRCodeCanvas } from 'qrcode.react';
 import { useState } from 'react';
 import Modal from 'react-modal';
 import { useNavigate, useParams } from 'react-router-dom';
 
-import Conversation from '../../../model/Conversation';
 import { setRefreshFromSlice } from '../../redux/appSlice';
 import { useAppDispatch } from '../../redux/hooks';
 import authManager from '../AuthManager';
diff --git a/client/src/components/ConversationView.tsx b/client/src/components/ConversationView.tsx
index e96b3f8..0a8e22d 100644
--- a/client/src/components/ConversationView.tsx
+++ b/client/src/components/ConversationView.tsx
@@ -16,9 +16,9 @@
  * <https://www.gnu.org/licenses/>.
  */
 import { Box, Stack, Typography } from '@mui/material';
+import { Conversation, Message } from 'jami-web-common';
 import { useCallback, useContext, useEffect, useState } from 'react';
 
-import Conversation, { Message } from '../../../model/Conversation';
 import { SocketContext } from '../contexts/Socket';
 import { useConversationQuery, useMessagesQuery, useSendMessageMutation } from '../services/Conversation';
 import ConversationAvatar from './ConversationAvatar';
diff --git a/client/src/components/ConversationsOverviewCard.js b/client/src/components/ConversationsOverviewCard.js
index b4206d5..6bb9dce 100644
--- a/client/src/components/ConversationsOverviewCard.js
+++ b/client/src/components/ConversationsOverviewCard.js
@@ -16,10 +16,10 @@
  * <https://www.gnu.org/licenses/>.
  */
 import { Card, CardActionArea, CardContent, CircularProgress, Typography } from '@mui/material';
+import { Conversation } from 'jami-web-common';
 import { useEffect, useState } from 'react';
 import { useNavigate, useParams } from 'react-router';
 
-import Conversation from '../../../model/Conversation';
 import authManager from '../AuthManager';
 
 export default function ConversationsOverviewCard(props) {
diff --git a/client/src/components/JamiIdCard.tsx b/client/src/components/JamiIdCard.tsx
index 1000cf9..6a3be3c 100644
--- a/client/src/components/JamiIdCard.tsx
+++ b/client/src/components/JamiIdCard.tsx
@@ -16,8 +16,7 @@
  * <https://www.gnu.org/licenses/>.
  */
 import { Box, Card, CardContent, Typography } from '@mui/material';
-
-import Account from '../../../model/Account';
+import { Account } from 'jami-web-common';
 
 type JamiIdCardProps = {
   account: Account;