Listen to armature's bone representation change and propagate

We now listens to the change in the representation that the armature keeps
and propagate any change to all the representation of the armature's bones.
This led to re-implement the DeepCopy. We only want to copy across the
purely representation properties and not the other properties like head or
tail positions.

See Issue #13779
Apply change to Slicer

Note that the envelope radius is not affected since it's not a property of
the armature's bone representation, it is not automatically propagated.

See Issue #13779