fn split_last_swizzle(expr: &str) -> Option<(&str, &str)>
Return (prefix, components) where <expr>.<components> is the swizzle. Splits on the last . at depth 0.
(prefix, components)
<expr>.<components>
.