Added layouts in UI.

- Each UISpace can now have a layout.
- Layout instances are often shareable.
- Added a UIPanel.
- The UI now detects automatically the dots per centimeters (DPC) of
the current screen.
- Surface now provides the DPC and this is dynamic (changing the
surface screen, recomputes the DPC).
- AvatarContainer is now an Iterable.
- AvatarName can now be built from another name and a suffix.
- RendererActor and Screen now support a ChangeAvatars (plural) request
to apply a change to several avatars at once.
- Box3 now support per-component access (x,y,z) instead of only Vector3
or Point3 that needed to instantiate an object.