When a widget receives a call to the snapshot function, it must send synthetic snapshot calls to all children.
This function provides a convenient way of doing this. A widget, when it receives a call to its
snapshot function, calls snapshot_child once for
each child, passing in the
snapshot the widget received.
snapshot_child takes care of translating the origin of
snapshot, and deciding whether the child needs
to be snapshot.
This function does nothing for children that implement Native.
a child of this