Should we

1. Have one class for each curve?
2. Create instances of a single class for every curve?
3. Have a single class with a `name` parameter in `__init__` and get the use to instantiate them?

There are a lot of curves and the standard naming scheme doesn't map well to class names. (e.g. wap-wsg-idm-ecid-wtls7, c2tnb359v1, Oakley-EC2N-4)

I have a bit of a preference for option 1 but the name mangling required to do that seems pretty ugly.