At least 20 bodies have been recovered after a boat packed with Indonesian workers capsised off Malaysia’s western coast.