backpropagation with breeze matrices instead of loops, much faster