implement block-wise mesh extraction

given an object label, construct the surface mesh bounding the
object from the background. This is done blockwise (though NOT
in parallel). A list of vertices, faces and lines is produced.
Using a std::unordered_map, vertices are re-used for lines and faces,
ensuring a _connected_ mesh.