Remove most static methods and unify 'valueOf'/'values' functions on GameRegistry

It's more consistent to have all these functions unified, and easier on alternate implementations to have them accessed via pure interfaces rather than requiring injection of one-off factory types for each individual thing.
I'm not really sure if having these makes sense, but the text API is probably up for getting reviewed harder while attempting to implement it fairly soon.