Fix #1
Fix #1

We are using the method `attributesAtIndex(,atIndex,effectiveRange)`
to find out the effective range of the custom furigana text attribute
`kFuriganaAttributeName`. And then we use the range to decide whether we
should break the line in the current location.

As per Apple document:
> ...The range isn’t necessarily the maximum range covered by
> attributeName, and its extent is implementation-dependent. If you need
> the maximum range, use
> attribute:atIndex:longestEffectiveRange:inRange:.

Thus the attribute range may not be long enough to keep the furigana
text attribute as-whole, and as a result it may cause line break happen
in the middle of a furigana attributed text.

This commit fixes this issue by using the
`attribute:atIndex:longestEffectiveRange:inRange:` method to find out
the range instead.

lingochamp/FuriganaTextView