Improved string shortening for CJK languages.

When you are trying to trim a string that contains CJK characters or even a string of western characters that don't have any spaces,  then the entire string is stripped.

This pull request adds two bits of functionality:

1) Break words using spaces, dashes, zero-width space characters, and other standard word-break characters that work in most modern browsers.

2) If no word-break is found in the string, fall back to letter removal.