North Melbourne Kangaroos surprise GWS Giants, hop into top four