Quad tree for collision detection

* Quad tree for efficient collision detection
* Shape class for extendable collision detection
this can be `isSetupForCollisions()`