Improve heuristics for x-positioned portraits

AGS often makes some wrong guess about where the portrait of a character
should be if you choose BasedOnCharacterPosition for Sierra-style
portrait positioning. I made a post about it here:

http://www.adventuregamestudio.co.uk/forums/index.php?topic=49927.0

Basically, when a character is the last character to have spoken, if
nobody else talks in the meantime, it can travel anywhere on the screen
and its portrait position will still be the same. I also found it
strange that some general assumptions (i.e. the first character to speak
could be assumed to be addressing the player instead of a random
character) were not made.