Roger Federer serves his way out of trouble in Wimbledon 2017 semi-final