refactor interactivity: ordered d3 code into join, enter, update and exit
refactor interactivity, main: use a View class instead of a setupD3 function