remake of micrograd and then expanding on micrograd
- micrograd with scalar values
- micrograd extended to tensors
- add new loss functions
- square loss error
- cross entropy loss
- add new activations functions
- tanh
- sigmoid
- softmax
- MNIST
- train MNIST
- train MNIST with batching
- add GPU training support
- train MNIST on GPU