CMul batch processing

Hi,

I've expanded CMul to be able to handle batch input. 

Also (on a separate commit), I've modified the initialization of the weights from a constant to random values. I don't really know why it was done in the former way.