Hyperbolic Module

TODO:

- [x] sinh
- [x] cosh
- [x] tanh
- [x] coth
- [ ] asinh
- [ ] acosh
- [ ] atanh
- [ ] acoth
Actually the main issue I think why I didn't put this in TrigFunction/HyperbolicFunction is that I wasn't sure of what to substitute it with the else part?
Perhaps we should write a `trigfunction` kind of function which checks the actual type and calls the underlying function accordingly.
Is this the best way to go forward?