Implement sweep-and-prune broadphase algorithms

Issue #27 resolved
Michael Ludwig
repo owner created an issue

There are two main varieties:

Single axis, non-temporal sweep and prune

Three axis, temporally coherent sweep and prune

The second is more complicated, but theoretically more performant. Other variations include combining SAP with a grid, and doing SAP within each grid cell.