Refactor Initializable, DefaultRNG, MLP; introduce Sequence

I added some documentation, but I also think there is a bug regarding
the level super is being called at (it should be called regardless of
whether bias_initialization is True or False).

I've also set a sensible default on the class instead of by using
getattr, and changed the negative into a positive because I think it's
more transparent.
I guess the parameters should be updated with `weights_init` and `biases_init`.