adding a quadratic input transformation layer, which essentially allows us to train tensor layers. Essentially, ever input x is extended to also contain all the binary interaction terms x_ix_j. This also allows to have little convolutional tensor networks, but it doesnt seem to be a very good idea. The quadratic terms seem quite unstable and can explode quickly because they can be so high, so lower learning rates are necessary perhaps. Including it for educational purposes for now and I would currently not recommend using in production.