Update pin gateway to add support for purchasing with card tokens

I don't normally write PHP so this may be terrible, but I gave it a shot.

The example looks a bit weird as the email is still required, but is an attribute of the card with Omnipay? So it looks like this:

```php
$gateway = GatewayFactory::create('Pin');
$gateway->setSecretKey('secret-key');
 
$response = $gateway->purchase([
  'description' => 'Widgets',
  'amount'      => '1.21',
  'currency'    => 'USD',
  'token'  => 'card_mcqQ_H1NtRODN1reRwEdmQ',
  'ip_address'  => '1.2.3.4',
  'card' => array('email' => 'test@example.org'),
])->send();
```