scrollabars of a scrollframe have as target not the content itself of the frame directly, but rather the scroll frame, and the contents change position through the scroll frame
adding minor comment to an unused method
scrollbars that have been detached from their scrollFrameMorph are now not moved with the scrollFrameMorph anymore
looks to me that the shallowCopy method can be simplified, so went ahead and simplified it. Everything seems to work fine.
scrollFrame now check the ownership of the scrollbars before updating them...

    # this check is to see whether the bar actually belongs to this
    # scrollframe. The reason why the bar could belong to another
    # scrollframe is the following: the bar could have been detached
    # from a scrollframe A. The scrollframe A (which is still fully
    # working albeit detached) is then duplicated into
    # a scrollframe B. What happens is that because the bar is not
    # a child of A (rather, it's only referenced as a property),
    # the duplication mechanism does not duplicate the bar and it does
    # not update the reference to it. This is correct because one cannot
    # just change all the references to other objects that are not
children
    # , a good example being the targets, i.e. if you duplicate a
colorPicker
    # which targets a Morph you want the duplication of the colorPicker
to
    # still change color of that same Morph.
    # So: the scrollframe B could still reference the scrollbar
    # detached from A and that causes a problem because changes to B
would
    # change the dimensions and hiding/unhiding of the scrollbar.
    # So here we avoid that by actually checking what the scrollbar is
    # attached to.