Refactor `src/key.rs`.

Key points are:

* Avoid copying in `from_slice()`
* Generalize Compressed/Uncompressed Public Key over both:
  * enum
  * trait