Implemented an additional cloning approach: "Clone Deep".
With this kind of cloning not just the model itself and its contents but
also its observers and observees are cloned.

There is an issue with the current implementation, because the obervers
and obervees, which aren't contained by other models, are cloned, and
thus will not be visually represented. This must not occur: a model
alive must be visually represented in some manner - or explicitly hidden
(not implemented yet).

Signed-off-by: Jakob Brandsborg Ehmsen <jakobehmsen.github@gmail.com>