add web-based visualizer

to be changed to a submodule