Added TODOs.
Physics shape rework #1: simplified implementation of base shapes.

Currently only the tests for particular shapes work, everything else is
broken.
Physics shape rework #2: new implementation of ShapeGroup.

This class now stores the tree in flat array, making it easier for user
to query the contents, but the internals are much more complicated. This
solution already reduces allocation count by count of nodes in the tree,
future work might remove the per-shape allocation altogether by using
large typeless array and placement-new etc.
Physics shape rework #3: made shape constructors implicit.

Allows to use them in (future) ObjectShape construction without unneded
verbosity:

    new Physics::ObjectShape<Physics::Point2D>(o, {{1.0f, -2.5f}});

instead of:

    new Physics::ObjectShape<Physics::Point2D>(o, Physics::Point2D(...));
Physics shape rework #4: new ObjectShape implementation.

The feature is now templated on shape type, which makes it actually
useful, as it is possible to conveniently query shape parameters from
it. It has now non-templated base and ObjectShapeGroup operates only
with it.
DebugTools: adapted ShapeRenderer to Physics changes.

Now using const reference to the shape instead of non-const one, also
removed some duplicated code and unneeded includes from the switch,
these operations are done in renderer implementations themselves.
Physics: better diagnostics in ShapeGroup::get().
Physics shape rework #5: renaming.

ObjectShape* is now Shape*, ShapeGroup is now Composition.
Physics shape rework #6: removed unneded overload, fixed the original.