Changes:
1. Separate out view holders for feed post types.
2. Improve performance for binding.
4. Initiating migration from Glide to Fresco, as performance of Fresco is way better.
3. Prefetch feed view thumbnails to get aspect ratio, to improve layout performance.
4. If auto play is off, the videos in feed are not loaded until play is pressed.
5. Lots of optimizations here and there.
This commit sets up the base for future enhancements in direct messages. The changes are:
1. Introducing fragments and navigation using androidx.navigation.fragment.NavHostFragment.
2. Using ListAdapter and LiveData for the RecyclerViews.
3. Fixes a bug where a single direct message was lost when querying older messages.