Quad tree for collision detection

* Quad tree for efficient collision detection
* Shape class for extendable collision detection
What does this `undefined` do?