At least 25 people, including two Americans, were injured in an explosion on a ferry at a Mexican beach resort.