Split field by connected region

No bundle support or dynamic output ports for now.
These should be refactored to hold const std::vector<double>& rather than double*; just add a TODO comment line here for later work.