Add a high-level interace + docs

This PR adds a high-level interface similar to scipy.sparse.linalg, and sphinx-based documentation.

Still partly WIP --- better test coverage would be useful.

The second question is what to do with the fact that the LU decomposition here is `LU = P R A Q` whereas in scipy.sparse/superlu it is `LU = P A Q` without the row scaling. It would be nice to have the two interfaces match, but not sure how to achieve that here...