Rewrite mul/sqr for 32bit/64bit

- interleave calculation of the lower and upper partial product ranges, and reduction
- less registers needed, more opportunities for parallel ops