Builder for creating a MaskState. It collects patterns and their corresponding replacements during the anonymization process.
Since AC requires all patterns to be known upfront, this builder allows us to gather that information as we anonymize fields.
Derive macro for Anonymize, which itself implements serde::Serialize
for the struct, implements anonymization and deanonymization logic.
Fields marked with #[anon] will be anonymized during serialization.
Derive macro supports most common serde attributes like rename and skip.