TTXKcodeChange -- 制御シーケンスで送受信漢字コードを変更出来るようにする

機能:
  このプラグインを入れると、リモート側から制御シーケンスを使用して
  送受信漢字コードの設定が変更出来るようになります。
  以下の制御シーケンスをサポートしています。

  <OSC>5963;Pt<ST>
  <OSC>5963;Pt<BEL>
    設定用シーケンス
    Ptは Key=Value の形式で指定し、;で区切る事で複数指定する事もできます。
    現在のところ、以下のKeyが使えます。
      KT  -- 送信漢字コード
             Valueとして SJIS, EUC, JIS, UTF8 を受け付けます。
      KR  -- 受信漢字コード
             Valueとして SJIS, EUC, JIS, UTF8, UTF8m を受け付けます。

  <OSC>5964;Pt<ST>
  <OSC>5964;Pt<BEL>
    問い合わせ用シーケンス
    Ptには問い合わせる設定を指定します。;で区切る事で複数指定する事もできます。
    問い合わせに対して、以下の形式の応答を返します。
      Key=Value;[Key=Value;...]<CR>

  <OSC>5965;Pt<ST>
  <OSC>5965;Pt<BEL>
    設定保存シーケンス
    Ptで指定した設定をスタックに保存します。;で区切り複数指定する事もできます。

  <OSC>5966;Pt<ST>
  <OSC>5966;Pt<BEL>
    設定復元シーケンス
    Ptで指定した設定がスタックに保存されていた場合、その設定に復元します。
    ;で区切り複数指定する事もできます。

使用例:
  ログインシェルがzshの時の設定例です。
  
  [.zloginの記述]
  echo -ne "\e]5965;kt;kr\a"             # KT/KRの設定を保存する
  echo -ne "\e]5963;kr=euc;kt=euc\a"     # KT/KRの設定をEUCに変更する

  [.zlogoutの記述]
  echo -n "\e]5966;kt;kr\a"              # KT/KRの設定を保存した値に復元する

解説:
  受信データのフックのサンプルです。
  受信データを監視し、対応している制御シーケンスだった場合は設定の
  変更を行います。
  問い合わせに対する応答は、送信バッファを直接書き換えるという
  少々強引な方法を取っています。

  このプラグインを改造すれば、他の設定も制御シーケンスで変更出来る
  ようになるかもしれません。

バグ:
  ・制御シーケンスのパース部分は少々いい加減です。
  ・使用している制御シーケンスのパラメータ番号の選び方が安易です。
  ・将来的にこの機能はTera Term本体に組み込まれるかもしれません。
  ・シリアル接続で使用するには、Tera Term 4.60以降が必要です。
  ・送信バッファの空きが少ない場合、問い合わせに対する応答が
    途中で切れる場合があります。
