Remove bignum dependency, optimize byte operations

Remove ```bignum``` to make package lighter.
Optimize byte operations to make base58 encoding/decoding faster.

Benchmark with ```bignum```:
```
load overhead: 10ms
encode: 16,018 ops/sec
decode: 21,472 ops/sec
```

Benchmark without ```bignum```:
```
load overhead: 3ms
encode: 202,899 ops/sec
decode: 254,545 ops/sec
```

Similar changes just landed in https://github.com/cryptocoinjs/bs58/pull/6.