generic implementation of QR decomposition

But static matrices can't use it yet, they need to implement the
Row/Col slicing traits.