Nanograd documentation

Nanograd-bgriebel is a scalar automatic differentiation engine, with a neural network api similar to PyTorch. It uses reverse mode automatic differentiation to calculate gradients, allowing for gradient descent based training of neural networks. Nanograd-bgriebel is based on Andrej Karpathy’s micrograd.