Form a block diagonal array from the given arrays.
Compared to SciPy’s block_diag, this utilizes broadcasting and accepts more than dimensions in the input arrays.