i2o: core: added a buffer data structure.

The I2O buffer can be used to write (but mostly) read from by the core
driver. These buffers will be filled with data by interrupts from the
I/O devices. Other modules can later retrieve the data by reading from
these buffers. A buffer value is paired with the buffer type, which
defines in what kind of datatype buffer contains.

Signed-off-by: Michel Megens <dev@michelmegens.net>