World number one Aryna Sabalenka beats Coco Gauff in a thrilling Madrid Open final.