* call TranslatePlaceholderCP() when comparing code pages to avoid
    unnecessary conversions between CP_ACP and the current actual
    DefaultSystemCodePage
  * call TranslatePlaceholderCP() when changing the code page of a
    text file because in some cases this code page is passed directly
    to widestringmanager.Wide2AnsiMoveProc() (which does not perform any
    translation itself)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26316 3ad0048d-3df7-0310-abae-a5850022a9f2
  + support for arbitrary encodings in readstr/writestr
   o set the code page of the temporary "text" file to utf-8 for writestr with
     unicodestring/widestring as destination, so that no data loss can occur
     (+ properly deal with cases whereby part of an utf-8 character is
      written to the textbuf in this case)
   o explicitly pass the code page of the destination ansistring for writestr
     with ansistring as destination and set it for the temporary "text" file
   o set the code page of the text file for readstr

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26317 3ad0048d-3df7-0310-abae-a5850022a9f2