Fix crash in ligature selector in CJK fonts

Half rewrite SFShowLigatures() to (mostly) avoid manual malloc and deep
nested controls; also remove the limitation that non-BMP chars are
disallowed. This also fixes crash by accident on ligature selection
dialog for CJK fonts (doesn't happen on non-CJK ones)
Add comment to place where string charset messup can occur