1) Nodes allocated using std::deque, not as std::set of pointers for
less memory allocator pressure.
2) Parents changed to parent indices, so that one may allocate side
by side data for nodes addressed by these indices. Thus now elemens
are being marked as deleted and the whole node database is being
compacted in one shot instead of deleting an element from std::set.
3) Removed SUPPORT_TREE_ONLY_GRACIOUS_TO_MODEL for simplicity, it was
never used.
4) Fixed crash when slicing multiple objects with three supports.
1) Reworked the merging code to use an AABB tree for better locality.
The old code sorted lexicographically, the new code splits bounding
boxes by the longest axis.
2) Refactored to a functional style with better const correctness.
3) Reduced memory allocation pressure by replacing std::set with
vectors, in place merging etc.