lib: intro `File` and `Text::file`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>