Circle Collision Update

This includes a lot of minor updates, but there are substantial changes in the collision system.

1) An internal overhaul that allows for circle collisions in addition to the rectangle collisions already in place.
2) Modified `collision-basic` components so that the JSON definition is a bit more straightforward.
3) `collision-basic` components can now include one or more shapes to fashion complex collision areas.
4) Restructured `collision-group` into 2 unique components: `handler-collision` for the world and `collision-group` for entities carrying entities.