Hyperbolic Module

TODO:

- [x] sinh
- [x] cosh
- [x] tanh
- [ ] coth
- [ ] asinh
- [ ] acosh
- [ ] atanh
- [ ] acoth
This function is essentially the same and repeated lots of times. You should put it into TrigFunction or Function and implement it only once. Also, in the implementation, cannot you just `return rcp(this)` without casting (instead of `return self`)?