Quad tree for collision detection

* Quad tree for efficient collision detection
* Shape class for extendable collision detection