Israeli strikes across Lebanon, including the capital Beirut, have killed about 400 people and triggered a humanitarian crisis as hundreds of thousands flee their homes.