GameStop to buy back $300 million of its stock