Arbor.js: fixed error in computing flowCentrality.

Additionally, return the centrality in three flavors:
 * sum: same as before)
 * centripetal: N paths from inputs to outputs over a given node, traversing
from end nodes to root only)
 * centrifugal: idem, but N paths from root to ends.

Synapses on branch nodes were added up at least twice, leading
to negative centralities for some nodes when the accumulated count
of seen synapses exceeded the total.

Performance-wise, there is no need to normalize, neither to
dereference when the value is right there (e.g. seenI vs counts.seenInputs).
And no need to pre-construct an Object with counts in them for all nodes
when only branch nodes will need them. Thanks to traversing the sorted
partitions in order, branch nodes will populate the record of seen inputs
in subtrees (variable cs).

The new approach doesn't need to reroot when the root node is a branch.
(and neither did the previous approach, but the operation was inoquous other
than incurring in a performance penalty).
WebGLApplication: show 3 shading modes by flow centrality: sum, centripetal and cetrifugal.

Centrifugal highlights the link between dendrites and axon, which starts
at approximately the axon hillock.
Centripetal highlights the main branch of the dendritic tree.
The sum shows the overall flow over any node (same as "Signal Flow Centrality" before).

Additionally, the axon-to-dendrite split is done by using the centrifugal flow centrality
to better cut at the putative axon hillock.
MorphologyPlot: adapt to new Arbor.flowCentrality format.

Keeps using the same value as before (but correctly computed).
GroupGraph: edge risk measured by rerooting the neuron at the max centrifugal flow centrality.
CircuitGraphPlot: compute cable of hillock using centrifugal flow centrality.