Call the remove_degenerate_edge function when removing degenerate tets.
Specified DEG_EDGE_LENGTH constant.
Added a function that calculates the minimum quality of neighbouring tetrahedra to an edge.
Changed the will_invert function to look at the link of a node instead of the star.
Simplified the precond_collapse edge to only look if the collapse will invert tetrahedra.
Updated the unsafe_collapse function.

It now it tries to position the new node at the barycenter, if this
will invert tetrahedra, then it tries to position the new node at
either one of the old nodes position.
Updated the safe_collapse function.

It now it tries to position the new node at the barycenter, if this
will invert tetrahedra, then it tries to position the new node at
either one of the old nodes position.
The collapse_edge function now also handles setting the destination of the new node.
Simplified remove_degenerate_edge.
calls unsafe_collapse instead of remove_degenerate_edge from other remove degeneracies functions.
Removed set destination call after a collapse edge call.
Replaced the quality_improvement function with one which calculates the minimum tet quality after a collapse.
Draw function is called after a key has been pressed.
Added a get_apex function to the mesh API.
Simplified the remove_degenerate_tet function.
Documentation.
The remove cap function now splits the biggest face at the projected apex.
Removed relabel_tets which is replaced by removing degeneracies.
Documentation.