Azealia Banks apologises for racist rant about Zayn