Implement mesh component.

[Finishes #56823176]
This commit implements the new mesh component. Due to some property
conflicts, the mesh object's properties could not be directly merged
into the owner entity. Instead, the mesh component currently adds the
mesh as a child of the owner entity.

This has an advantage in that it allows the root of the mesh to be
moved independently of the owner transform though this also may
have unforeseen side effects.