Expose the mirage BLOCK interface

Plus 
* pack the libraries and switch to shorter module names within the packs
* switch to polymorphic variants for results and stream elements
* use io-page for page allocation, removing the functorised allocator