Implement a gradient machine (aka 'neural network) that can be used for classification or auto-encoding.
It will just have an input layer, identity, sigmoid or tanh hidden layer and an output layer.
Training done by stochastic gradient descent (possibly mini-batch later).
Sparsity will be optionally enforced by tweaking the bias in the hidden unit.
For now it will go in classifier/sgd and the auto-encoder will wrap it in the filter unit later on.