Add PongEvent

When used with Celluloid the block created with
```ruby
driver.ping 'my message' do
  @latency = now - start
end
```

never gets executed, now you can subscribe to
```ruby
driver.on(:pong) do |pong|
  if message = @pong_messages.delete(pong.message)
    @latency = now - message[:start]
  end
end
```