Filippo Ganna won Stage 8 of Tirreno-Adriatico with a stunning time trial performance for Ineos Grenadiers - but the overall victory went to Simon Yates of Mitchelton-Scott.