A javascript visual serial communications protocol