[spanify] Refactor CheckedCastReplacement into project interface

Move RangedReplacement and CheckedCastReplacement structs from
Spanifier.cpp into a new header spanifier_types.h so they can be shared
across project definitions.

Replace Project::GetCheckedCastSizeTOpener() with
Project::GetCheckedCastReplacement() to allow different projects (such
as Skia using SkTo<size_t>) to customize the entire checked cast
replacement structure rather than just the opening text.

Bug: 529840065
Change-Id: Iad08d542c5a3fcd96f39577657152d5573f48582
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8040768
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Stephen Nusko <nuskos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1657774}
NOKEYCHECK=True
GitOrigin-RevId: 5a3b1f915c67291626f63d4a147d44606e5156fb
3 files changed