(Shape): Since a Shape is immutable only calculate the bounding box once (the first time compute_bbox() is called). (Layer.ShapesBoundingBox): New. Given a list of shape ids, return the bounding box for the shapes in lat/long coordinates.