Add rank9 implementation

I'd like a quick code review for this.

I'm not completely finished with it: I'd like to do a bit of a clean-up, add a few tests and benchmarks, but the basic stuff is finished. `unsafeRank1` for `Rank9` compiles to code without branches and memory allocation.