Fix a bug where the ordering of faces and edges was going backwards

This stemmed from a misunderstanding in the job of the comaparison
function. It is intended to return a positive number when the first
argument comes *after* the second. This mistake made no difference for
redundant edge removal, since any children came immediately before or
after the parent. However, with faces this does matter.

Face construction on a 3d mesh of depth 2 near the origin and 1
elsewhere now builds the correct number of faces, which is 66.