Earnings with Friends: Zynga posts surprise profit