arbitrary size and precision number library in pure javascript