Added audio review UI.

Review Request #10798 — Created Nov. 13, 2019 and updated — Latest diff uploaded

Review Board
reviewboard, students

Review UI for audio files, with a waveform graph and a spectrogram that can be
toggled on or off.

When comparing two different revisions, the old revision will be rendered
first, and the new revision will be underneath it. Each revision has its own
set of controls as well, and both revisions can be concurrently played.

Comments can be added by dragging a region of the waveform graph, which will
pop up a dialog where the user can add in a comment. After creating the comment,
it will be added to the waveform graph.

Hovering over a comment region on the waveform graph will show details about it
in a tooltip, similar to other review UIs. When a comment region is clicked, it
will allow the user to edit or delete their comment if the shift key is not
pressed. If the shift key is pressed, then the audio player will play just the
selected region.

  1. Tested manually with Python2.7 and Python3.6 with a short audio file.
  2. Tested manually with Python2.7 with a long audio file.
  3. Tested the diff viewer manually with Python2.7 and Python3.6.
  4. Ran JavaScript unit tests with Python2.7.