Lewis Hamilton wins 2007 Hungarian Grand Prix