Snap beats revenue and user growth estimates, announces $500 million buyback