Restructuring project
Refactoring with small tree for recursive collision checking

The small rectangle tree is practically identical to the large
rectangle tree.. there is a lot of code duplication that should
be removed ideally, but for fun I'm ignoring it right now
(anbd removing it might slow it down very slightly...maybe)