I did this because they are 2 separate concerns and I have diverged
so far from the original repo. I didn't start a new repo because it
contains valuable history of all the people who contributed to it.
Additionally if there is an issue with this we can revert, but I
rather not. Forks are forks.
Issues left to resolve:
* Removing a reaction doesn't properly remove it from UI, but the event
is recorded correctly.
* Since contacts are not being saved there will be issues with
"following" users and you could overwrite your follower's list with
an empty list.
* Caching is no longer working.
* I skipped chat room implementation.
* Rendering shared event's doesn't work and needs to be revised.
Note the loss of some colors in icons. This is because I need to change
them at the SVG level. I will think about best way to do this later as
some animation transitions will need to be thought for.
After doing thorough testing on mobile I have scrapped my original
flexbox design in favor of sticky headers. I will not be implmenting a
bottom toolbar like twitter. Instead I will find another way to add user
tools in mobile mode. This approach works better on desktop as well.
Let's simplify and use new CSS tools we have to our advantage and make a
unified design that works on both desktop and mobile better.
* Created directory for UI
* Moved rendering code to js/ui/render.js
* Created initial js/ui/util.js for UI utilities
Notice I did not use modules. I was thinking of doing this but I am
avoiding it for now as it is much easier to just have everything
declared as global at this time. For onclick methods this makes sense;
but for code (such as rendering) I think it would be better off as a
module that gets imported. This is a task for another day.