Beaches on the Singaporean island of Sensota have closed after a dredger collided with a cargo tanker offshore, spreading oil across the marine areas.