A base2048 implementation compatible with the rust and python ones
The prior art in js Uses a different character map.
Note: This is currently a 1:1 rewrite of a pure python implementation available here
It's probably good enough as-is, but could likely be improved on.