hide SSL implementation headers behind interfaces

- turn SSLStream and SSLContext into interfaces

- move OpenSSL based implementation to vibe.stream.openssl
The `const` seems to be accidentally dropped here.