Added some new classes to handle media cells
Can display photos now.
Added new message types to display remote data
Added overlay view to video cell.
Fixbug: `incomingAudioCellIdentifier` assignment error.
Change a more appropriate name for the  download images data source method.
Added properties to customize in / out video overlay view of messages.
Code style optimization, in order to adapt to the overall project code style.
Better code comments.
New thumbnail factory.
Remove unreasonable video message initialization method.
Improve comments.
Added comments to JSQMessagesThumbnailFactory class.
Unit test for `JSQMessagesThumbnailFactory`
Complete message unit test.
Rename video message constructor.
Clearer message structure and the corresponding unit test.
Fixbug when the `incomingAvatarViewSize` or `outgoingAvatarViewSize` is set in `ViewDidLoad`, need to scroll the collection view to take effect.
Added protocol methods to customize in / out video overlay view of messages for each cell.
Added properties to customize in / out video overlay view size.
Message display completed.
Item width for audio message can be customized.
Reconstructed media class, add the corresponding abstract class.
Unti test.