Autograd - Implement slice autograd properly
See https://github.com/mratsim/Arraymancer/pull/304#issuecomment-425751045

When slicing a tensor returns a scalar we lose track of the autograd graph: https://github.com/mratsim/Arraymancer/blob/0d31645fbce3dfdc5ffc8575402c10726747e40c/src/autograd/gates_shapeshifting_views.nim#L41-L46

This might require #87 or using object variant in Variable to store either a scalar or a Tensor (or use object variant at the tensor level) 