Refactor Internal::TextFileFormatDetector in FileCharsetDetectionTask

Now declared as AbstractCharsetDetector, abstract and base class of all charset detectors.
Also add a new charset detector based on COM IMultiLanguage2 (for Windows only)