Implement basic TLS 1.2 handshake

This commit implements:

-   Some parts of TLS 1.2 for client-side handshake
-   NIST P-256 ECDHE
-   Chacha20-Poly1305 AEAD cipher

See `README.md` for usage.

The following things are not currently implemented:

-   Server-side routines
-   X.509 certification validation
-   Session resumption
-   Rehandshake