Why would you index grapheme clusters? Even indexing codepoints is seldom useful as we can read from the article you found.
Sure, do away with any form of... well whatever operations one would need to do on text, cursor movement, selection etc...
Although I believe you know this, I will spell it out here anyway (for those interested)
Take this Tai character ที่, which exists of three codepoints. I say 'character' as it is perceived as such by the Tai. Now do a UTF-8 string operation on Tai text where this characters happens to be near some split point. Without scanning for grapheme clusters, this character may be cut in pieces (which is what most software does):
s = "ที่"
print s
t = uleft(s, 2)
s = t + uright(s, 1)
print s
The character is being put back together again, but may still not be rendered correctly anymore. So the correct way to handle this is indexing and splitting by grapheme clusters... also explained in the good read.