Remove and add back diff view after every model change

This is to address potential problem with React's DOM diff algorithm. By
removing and rerendering from scratch, I'm avoiding possible bug with
the algorithm that's causing weird behaviour with directly inserting
DOM html for inline comments.
Refactor inline and side by side into separate views
Only select current column in side by side view

Also, don't select inline comments
Some minor css fixups
Reload when navigating between diff pages

By default github uses pushState w/ ajax which makes the content script
not run when changing pages. Also, using back/forward buttons is buggy
because we are shown the modified diff view (eg. side by side) but we
lose parsed diff state. Thus, in both of these cases, we force reload
the page. Need to eventually find a better way of handling this that's
more user-friendly