multicharview: better handling of text input box and focus.

A new structure to handle per charview tab data and setting/getting
that data to and from the UI widgets.

A new method for input boxes etc to handle keyboard input in the face
of hotkeys which are themselves only single unqualified key values
like 'k' or 'v'.
Merge pull request #900 from monkeyiq/2013nov/issues/879v3

multicharview: better handling of text input box and focus.
Toggle preview for all chars in the charview.
Merge pull request #901 from monkeyiq/2013nov/issues/879v4

Toggle preview for all chars in the charview.
Update prefs
Ensure MakeTemporaryFile() returns 0 and not NULL if error encountered
SFUndoTostring() - Close file when done. Return 0 if error

static scan complained about resource leak due to file not getting closed.
Made routine return 0 if error encountered.
gcc warning: suggest parentheses around assignment used as truth value
free(txt) - static scan complained of resource leak.
scan check... fix a couple of resource leaks