Minor nitpick - the slurs/ties could be cleaner. If you look at professional musical typesetting, slurs/ties usually go from the middle to the middle of each note head, unless they cross a note stem. Then they get as close as possible to the head without overlapping the stem.
They shouldn't overlap other symbols, including accidentals or dots.
Music notation/engraving is something that isn't widely supported, partially due to its complexity. There are a few more or less expensive tools out there, but I haven't seen many attempts at something open source and even less for the browser.
Minor nitpick - the slurs/ties could be cleaner. If you look at professional musical typesetting, slurs/ties usually go from the middle to the middle of each note head, unless they cross a note stem. Then they get as close as possible to the head without overlapping the stem.
They shouldn't overlap other symbols, including accidentals or dots.
Otherwise, great job!