PS_* all the things, first edition

Tried to move to PS_ASM all I could, but I really think the bottleneck is in the random library.
There are some optimization that could be done:
- If we tweaked the settings, we can make the lib output two f32 with one u32 and way faster (using Gekko's Fast casting that does u16 → f32 in 2 cycles)
- If RandomVectorInHemisphere is really **the** bottleneck, we can "inline" the guVec functions, removing up to ~20 psq_l and ~20 psq_st (3 cycles each, pipelined), give or take, although code will look quite messy afterward.

If you can provide me with a list of other functions that are called quite frequently I'll give them a look as well