Rewrote GPIO implementation.

I rewrote the GPIO implementation and took a new approach on some things.

* *fd* are not kept open anymore
* low-level *C* api
* *prototype* in vanilla *Js*