properly notify the view adapter of dataset changes
in order to avoid invalidating the entire dataset when not absolutely necessary.
This change also shows unread messages in a different color,
so users do not fail to notice delayed messages.
It now uses conversation bubbles in alternating colors
and vector drawables to indicate message state.
The conversation bubbles have been taken from Telegram
and can be replaced by a UX designer later.
This commit also addresses #9, because message text can
now be selected and copied. This is done by using
android:textIsSelectable="true"
which only works for API level 11 or higher.
If we want copy and paste on lower API levels,
additional measures have to be implemented.
Remove the Toast that always says 'Message Sent' and show graphical
indicators instead that show either:
* message is waiting to be sent
* message was sent (or requested)
* message was delivered