WIP Mlp finishing touches

Slight update to #3204, putting on the finishing touches.

* [ ] add tests for momentum
* [ ] use SGD in benchmark
* [ ] add weight visualization example (maybe) 
* [ ] tune benchmark, add SGDClassifier
* [ ] add mlp to classifier comparison
I guess there should be another variable, `update_coef` as,
```python
coef_update =  (self.learning_rate_ * ((1 - self.momentum) * coef_grads[i]
                                                  + self.momentum * coef_grads_prev[i]))

self.layers_coef_[i] -= coef_update

coef_update_prev[i] = coef_update
```