Add weights initializations
Currently weights are initialized with a uniform random distribution via `randomTensor`.

It would be better to offer the following tensor initialization methods:

- [x] Xavier Glorot
- [x] Kaiming He
