Added version of forward (forward_compact) that stores triangles in a tree. It uses a lot less space and benchmarks 2x faster that forward (results commented in forward.py). Added util for printing mem footprint.