RE: Decent spellchecker
Short answer: no.
It's nearly impossible to do such interactions with the chat window's typing area. A script would need to respond to the key press and right-click events which is hard since these notifications are only sent to the owner window and thus requires the script to subclass it in some way. It would also have to find out which word the click originated from and this can turn out very nasty since the user can have a custom font and multiple emoticons and the user can resize the typing area at any moment. Also, in order to draw red lines underneath misspelled words, the script would also have to draw onto the typing area and determinate the pixel location and size of those words.
Plus! seems to be able to do this partly for its emoticon pop-up window. It can react on key presses, it can find out the current caret location and it can insert and replace text in the typing area. However, this functionality is not available through the Plus! scripting environment and cannot be borrowed directly by scripts. Perhaps in future versions of Plus!, the scripting API may provide such functionality, but for now you'd have to do it all by yourself if you want to make this.