crypto: introduce ECDH

cc @trevnorris 
Shouldn't this be wrapped in a `HandleScope`, or else `t` will bubble up.