Have you checked out Pyrr?  Do we want to just use their code?

I'll implement inverse(), as I think that's the most important IMHO