Fix Cell.Grapheme validation allocation by adding GetGraphemeCount
Added allocation-free grapheme counting to GraphemeHelper:
- New GetGraphemeCount() method counts graphemes without materializing array
- Uses TextElementEnumerator directly, avoiding .ToArray() allocation
- Updated Cell.Grapheme setter to use GetGraphemeCount() instead of .ToArray().Length
Impact: Eliminates allocation on every Cell.Grapheme property set
- Validation now happens without intermediate array allocation
- Particularly beneficial for cell-based operations and grid rendering
All unit tests pass (12,055 parallelizable + 1,173 non-parallel)
Co-authored-by: tig <[email protected]>