WIP : Io module

I finally found the energy to address this one.

I still need to update the examples + doc and check everything works.