Add TileIO, which specifies a Hurricane Tile's IO

I thought it would be good to try to figure out the interface between
tiles and the rest of the fabric as soon as possible, because if we
get this wrong things could get tricky...