bs64 0.1.0

SIMD-accelerated Base64 encoding and decoding library
Documentation
# ๐Ÿš€ Base 64 

โœจ SIMD-accelerated Base64 for Rust โœจ

## ๐ŸŒŸ Features
- ๐Ÿ’ก Uses AVX2 instructions for super-fast encoding and decoding
- ๐Ÿ”„ Fallback when AVX2 is unavailable uses any available SIMD

## ๐ŸŽฏ Project goals
- ๐Ÿ”ง Simple, idiomatic API
- ๐Ÿ“ฆ Sensible defaults
- โšก Fast

## Usage

```rust
use bs64;

fn main() {
  // Encode
  let input = vec![2, 3, 4, 5];
  let output: String = bs64::encode(&input);

  // Decode
  let decoded_output = bs64::decode(output.as_bytes());
}
```

## Benchmarks

Ran using 100k inputs, 10000 iterations on an Intelยฎ Coreโ„ข i7-1065G7:
```
cargo run --features "cli" --release -- -b 100000 -i 10000
```

### Encode

| name                  | MB/s
|----------------------|--------
|๐Ÿš€ **bs64::encode()**    | 4813.70        
|๐Ÿš€ **bs64::encode_mut()**| 6579.17        
|๐Ÿš€ **bs64 fallback**         | 944.18         
|data_encoding         | 858.51         
|data_encoding mut     | 873.28         
|base64                | 748.02         
|base64 mut            | 870.99 

## Decode

| name                   | MB/s          |
|------------------------|---------------|
| ๐Ÿš€ **bs64::decode()**     | 3899.26       |
| ๐Ÿš€ **bs64::decode_mut()** | 3965.25       |
| ๐Ÿš€ **bs64 fallback**          | 837.17        |
| data_encoding          | 647.33        |
| data_encoding mut      | 684.01        |
| base64                 | 761.68        |
| base64 mut             | 805.60        |


## TODO

- [x] Integration tests
- [x] Benchmarking suite
- [ ] Regression tests + benchmark in Github Actions
- [ ] Change default implementation with feature flags
- [ ] Builders for custom configs at runtime