C++/BigInteger: Optimize mul from N^2 to N^1.5; Optimize toString; Benchmark