Community response helped save 21 from sinking whale-watching boat off B.C.