Fix bug that key which is not in rule (ex. "5") is not entered on (interactive) bushu conversion.

* scm/tutcode.scm
  - (tutcode-proc-state-bushu, tutcode-proc-state-interactive-bushu):
    Fix scope error introduced at commit:effa429.
Support tutcode-verbose-stroke-key on prefix (interactive) bushu conversion.

* scm/tutcode.scm
  - (tutcode-proc-state-bushu, tutcode-proc-state-interactive-bushu):
    Use first key in pending sequence as bushu by tutcode-verbose-stroke-key.
Add custom key sequences to change katakana/hiragana mode (not toggle).

* scm/tutcode-key-custom.scm
  - (tutcode-katakana-sequence, tutcode-hiragana-sequence): New custom.
* scm/tutcode.scm
  - (tutcode-custom-set-mazegaki/bushu-start-sequence!):
    Change katakana/hiragana mode to katakana or hiragana by
    tutcode-katakana-sequence or tutcode-hiragana-sequence respectively.
Add hiragana to tutcode-rule-uppercase-for-katakana for katakana mode.

* scm/tutcode-rule.scm
  - (tutcode-rule-uppercase-for-katakana):
    Add hiragana for katakana mode.
  - (tutcode-rule):
    Remove needless katakana string (hiragana and katakana are same).
Add check of tutcode-rule-uppercase-as-opposite-kana? for backward compatibility.

* scm/tutcode-rule.scm:
  Use hiragana in tutcode-rule-uppercase-for-katakana for katakana mode
  only when tutcode-rule-uppercase-as-opposite-kana? is set to #t.
Add tutcode-rule-custom.scm for customization about tutcode-rule.scm.

* scm/Makefile.am
  - (SCM_FILES): Add tutcode-rule-custom.scm.
* scm/tutcode-rule-custom.scm
  - New custom file.
  - (tutcode-rule): New custom group.
  - (tutcode-rule-uppercase-as-opposite-kana?,
     tutcode-rule-exclude-uppercase-for-katakana?,
     tutcode-rule-exclude-uppercase-for-kigou-in-katakana?):
    New custom variable.
* scm/tutcode.scm
  - Add require-custom "tutcode-rule-custom.scm".
* scm/tutcode-rule.scm
  - Update comment.
Add shin joyo kanji to tutcode-rule with custom variable tutcode-rule-use-tutplus?

* scm/tutcode-rule-custom.scm
  - (tutcode-rule-use-tutplus?): New custom variable.
* scm/tutcode-rule.scm
  - (tutcode-rule-shin-joyo-kanji-plus): New additional rule.
Add pseudo table style.

* scm/tutcode-custom.scm
  - (tutcode-use-pseudo-table-style?): New custom variable.
* scm/tutcode.scm
  - (tutcode-stroke-help-make, tutcode-auto-help-make):
    Support pseudo table style.
  - (tutcode-table-in-vertical-candwin): New function.
Change to use label for first non-empty cell in row on pseudo table style.

* scm/tutcode.scm
  - (tutcode-table-in-vertical-candwin):
    Change label for candwin from first cell in row
    to first non-empty cell in row.
Add command to dump(commit) last help content shown on candidate window.

* scm/tutcode-key-custom.scm
  - (tutcode-auto-help-dump-sequence): New custom.
* scm/tutcode.scm
  - Update comment for tutcode-auto-help-dump.
  - (tutcode-table-in-vertical-candwin):
    Add block delimiter when right block is empty for help dump.
  - (tutcode-auto-help-dump): New function.
  - (tutcode-custom-set-mazegaki/bushu-start-sequence!):
    Add check of tutcode-auto-help-dump-sequence.
Add scm/tutcode-rule-custom.scm to po/POTFILES.in.

* po/POTFILES.in
  - Add scm/tutcode-rule-custom.scm to avoid a build error.
* scm/util.scm (read-line):
  - New function.

* scm/tutcode-bushu.scm (tutcode-bushu-help-load):
  - x2 speedup by using read-char (bufferd vs nonubuffered).
  - Drop fileio.scm.
Add custom tutcode-show-pending-rk? to show pending key sequences.

* scm/tutcode-custom.scm
  - (tutcode-show-pending-rk?): New custom.
* scm/tutcode.scm
  - (tutcode-do-update-preedit):
    Show pending key sequences if tutcode-show-pending-rk? is #t.
  - (tutcode-key-press-handler-internal):
    Call tutcode-update-preedit if tutcode-show-pending-rk? is #t.
Fix error when bushu.help file does not exist.

* scm/tutcode-bushu.scm
  - (tutcode-bushu-help-load): Add check of file-readable?
Support pseudo table style candidate window by adding wrapper layer.

* scm/tutcode.scm
  - (tutcode-context-rec-spec): Add pseudo-table-cands.
  - (tutcode-activate-candidate-window): Support pseudo table style.
  - (tutcode-pseudo-table-style-setup): New.
  - (tutcode-stroke-help-make, tutcode-auto-help-make):
    Move making of pseudo table style candidates
    to tutcode-pseudo-table-style-setup.
  - (tutcode-auto-help-dump):
    Follow the change of pseudo table style candidates.
  - (tutcode-get-candidate-handler):
    Add check of pseudo table style.
  - (tutcode-get-candidate-handler-internal):
    New function extracted from tutcode-get-candidate-handler.
  - (tutcode-delay-activating-handler): Support pseudo table style.
Support multiple pages for pseudo table style.

* scm/tutcode-custom.scm
  - (tutcode-custom-adjust-nr-candidate-max):
    New function extracted from candidate-window-style hook.
  - (candidate-window-style):
    Change hook to call tutcode-custom-adjust-nr-candidate-max.
  - (tutcode-use-pseudo-table-style?): New set hook.
* scm/tutcode.scm
  - (tutcode-context-rec-spec):
    Change initial value of pseudo-table-cands to #f
  - (tutcode-context-new):
    Treat tutcode-use-pseudo-table-style? same as
    table style candidate window.
  - (tutcode-activate-candidate-window):
    Follow the argument change of tutcode-pseudo-table-style-setup.
  - (tutcode-pseudo-table-style-setup):
    Remove unused argument.
  - (tutcode-pseudo-table-style-make-new-page): New.
  - (tutcode-candwin-limit-nr-nth): New.
  - (tutcode-pseudo-table-style-make-page):
    New function extracted from tutcode-pseudo-table-style-setup.
  - (tutcode-pseudo-table-style-candwin-index): New.
  - (tutcode-pseudo-table-style-scm-index): New.
  - (tutcode-select-candidate):
    Change to call tutcode-pseudo-table-select-candidate.
  - (tutcode-pseudo-table-select-candidate): New.
  - (tutcode-reset-candidate-window): Add reset of pseudo-table-cands.
  - (tutcode-get-candidate-handler):
    Support multiple pages for pseudo table style.
  - (tutcode-set-candidate-index-handler):
    Support pseudo table style candidate window.
  - (tutcode-delay-activating-handler):
    Support selecting candidate for pseudo table style.
Fix error on showing last page of kigou mode.

* scm/tutcode.scm
  - (tutcode-pseudo-table-style-make-page):
    Not to omit empty block to avoid mismatch with nr candidates.
  - (tutcode-table-in-vertical-candwin):
    Add argument whether to omit empty lower half block.
  - (tutcode-auto-help-dump):
    Follow the argument change of tutcode-table-in-vertical-candwin.
Ignore swp file.

* .gitignore
  - Add '*.swp' to ignore swp files vi generates.
Prevent systray-gtk from becoming defunct.

* gtk2/toolbar/common-gtk.c
  - (right_click_menu_quit_activated):
    Call uim_quit() after "Quit this toolbar" is selected.
* gtk2/toolbar/systray-gtk.c
  - (systray_unrealize_cb): Remove.
  - (main): Don't call systray_unrealize_cb after "unrealize"
    to prevent systray-gtk from becoming a defunct process.