`NSData.asString()`: optimized string creation (#1434)
`NSData.asString()`: optimized string creation (#1434)

I noticed that the existing implementation was creating many copies of the string as it grows, which isn't very efficient.
The new implementation allocates the required size initially and writes to the same buffer inside the loop.
RevenueCat/purchases-ios,RevenueCat/purchases-ios,RevenueCat/purchases-ios,RevenueCat/purchases-ios,RevenueCat/purchases-ios