Allow listening for input events

In order to allow polling the GPIO device file descriptors there leads no way around a class/struct based setup.

This setup adds a ```gpio_t``` struct to **gpio.c** which now stores the generated paths and (maybe open fds) also our v8 binding will now again be prototype based.