GWS stun Crows with upset AFL win