FindConnectedRegions: make PointState handle >2GB

It now keeps an array of byte arrays internally,
to exceed Java's 2GB array limitation.