fixed deferred presentational attributes

rather than expecting the respective node to be passed in, the `shape`
and `size` functions now expect to be executed within the context of
that node
created visualizer

ported the existing implementation, with some adjustments

however, two aspects are still missing:
* graph store integration (cf. `graph_store.js`)
* interactivity extensions (cf. `igraph.js`)