Added [not really working] interrupt handling code for GPIO.

This code is bad, and I don't like it, but I can't come up with a better solution. Please share your comments.

Note:

I thought about storing something like
```rust
struct Handler {
  func: fn(uint),
  context: uint,
}
```

but it's impossible to write the handler for Mrf driver, as it's `Mrf24j40<'a, S, T>` and you cannot get `S` and `T` in the external fn context.