It would be useful to be able to construct a block-diagonal operator from given blocks, e.g., ```julia P = blkdiag(M1, M2, ..., Mn) ``` would represent ``` [ M1 ] [ M2 ] [ ... ] [ Mn ] ```