eliminated undesirable coupling regarding edge classes in presenter

the "edge" class is always required, whereas the remaining classes are
purely presentational
fixed edge path calculation

cf. 0e556582442c49e3809d7903a94c61c3321def1b
added proper edge rendering to visualizer

the issue here is turning edges' source and target IDs into object
references - the current approach is very much simplistic and in need of
refactoring (cf. inline comment)

note that Firefox currently emits three warnings due to unexpected NaN
values - this is likely related to incomplete mock data, but debugging
this proved tricky and I've run out of ideas for now