Allow all layers to be made bias-less by passing None for b

This allows all existing layer implementation to be made bias-less by passing a falseish value for `b` in their constructor. This is especially useful when merging two separate processing paths in an architecture or when creating recurrent layers to avoid duplicate biases.