Rough out one way of doing collisions

It works like this: For each node, for each triangle, check whether the node's delta position intersects the triangle. If so, reposition the node at the intersection.

It's working but slow for now. O(num_nodes * num_faces)