I think I've fixed the 2x2 lost nodes problem in the Zhang-Suen thinning algorithm. Next stop - merging overlapping nodes (and then being able to extract connecting paths between nodes, including merged nodes)