Remove allocations for Signature, use array instead

As @dpc observes, embedded systems do not necessarily have allocators, so we
should avoid using them if it is not too much hassle. (And it is no hassle at
all.)
Create README.md
Rework the key functionality.

Key points are:

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