Initializeable

For issue #24 
I'm afraid `Initializable` really needs to be part of the `Brick` hierarchy, else the MRO gets all screwed up (as you experienced).

I think `_push_initialization_config` and `push_initialization_config` should be part of the base class. I don't see much to gain from factoring it out, and they form a relatively integral part of the interface.

I thought the goals of the `Initializable` brick was to factor out the `weights_init` and `bias_init` configuration push. As such, it shouldn't add new methods to the base class, it should just provide a particular implementation.