OP here, thanks for the feedback! And that's a really interesting tip about the stereo line-in. That's given me an idea about maybe trying to display some Lissajous figures on the oscilloscope.
Thanks! My plan is to open source the whole site in the near future, but I'm trying to do a bit of a tidy-up and refactor before then. In the meantime, your very welcome to view the source code for any of the demos, like this file used for the oscilloscope: https://academo.org/demos/virtual-oscilloscope/demo.js