Base64 encoder / decoder

Text uses UTF-8. Files are read as binary (small files only).