Copy kwarg

This adds a new kwarg `copy` that allows our types to act as true containers. At the moment this is only on Shapes and Images. If `copy` is `False` then the data will merely be held as a reference.

@jabooth should we add this to landmarks as well?