q = a / b (rem r)
a / b are floored (rounded towards 0). q may alias with a or b.
Asserts there is enough memory to store q and r. The upper bound for r limb count is b.limbs.len
. The upper bound for q limb count is given by a.limbs
.
limbs_buffer
is used for temporary storage. The amount required is given by calcDivLimbsBufferLen
.