Fixing possible stack overflows
Copying constructors for shapes; shape.getBoundingBox()