Boy, 7, swims for an hour to save family after boating mishap