Split PurpleRequestField into its own files
Review Request #2311 — Created March 4, 2023 and submitted
Note that I
hg cpthe original files to preserve their history, so this looks like a bunch of deleting, but it really isn't.
I've also added a bit of private API for the cross-struct access, but that may go away later. I did not do any other API changes to make this a simpler review.
Compiled, and opened Request Fields from the demo.