[DRIVERS] The M25P80 NOR flash is now a block and a character device.

The M25P80 can now be used as both a character device, and a block device in
Xvisor.
[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.