[CORE] Updating the character device API.

As the offset is needed for most of character devices, an offset pointer have
been added to the read and write operations. The character device
implementation is in charge of using and updating it if necessary.

The argument for the IO control has been updated to match Linux's.
[DRIVERS] Serial drivers updated to use the new chardev API.

Serial driver read and write operations now take an unused argument, an
operation offset pointer, to match the new chardev API.
[DRIVERS] M25P80 NOR flash and similar character driver implemented.

The M25P80 NOR flash and similar character driver has been implemented,
following the new character device API, which allows to use the "vmm_chardev_*"
operations for this flash.