Add encoding support

1. now possible to pick an encoding via the "use" statement

    use M:L:R -readers => { encoding => ... }

2. default is "encoding(UTF-8)"

3. (read|write)_filename now take options hashref and allow 'encoding'