Changed encoding to UTF-8.
For example, project gutenberg texts are encoded in UTF-8.
Major refactoring, introduced some interfaces and the option to load local files.