remove purchaseWithReceipt event

Remove the purchaseWithReceipt event and instead add transactionInfo
object to the onPurchase callback.

Adding the purchaseWithReceipt event was a bad decision since it could
be raised at any time, even during gameplay. This is a solved problem
with the way billing currently uses the onPurchase function, so
continuing to use the event would require users to re-implement a
solution for only part of the functionality, which is a huge mistake.

Now the transaction info is added to the onPurchase callback as a second
parameter (which is an object so it can be extended with additional
fields later as necessary).

NOTE:
Because this removes an event that was briefly added in version 2.0.0, this requires a major version bump. :(