Convert UI to ReactJS

The UI should look almost identical to how it did before, but with a couple fewer bugs and a few more features.

The main new feature is that webdiff now shows the full list of files, which can be collapsed to a dropdown if desired.
Exactly. This function is pretty specific, so I moved it inside of the `CodeDiff` component.