basexx 0.2.0

basexx utilities. base32, base64, base58, base56...
Documentation
# Development Tasks - basexx

## Architecture

- [x] Create a modular architecture with a central `lib.rs`.
- [x] Implement separate modules for each encoding scheme.

## Modules

- [x] Implement `base64` module.
- [x] Implement `base58` module.
- [x] Implement `base56` module.
- [x] Implement `base32` module.
- [x] Implement `ags` module.
- [x] Implement `base64g` variant module.
- [x] Implement `base58b` variant module.
- [x] Implement `base58r` variant module.
- [x] Implement `base32i` variant module.

## Performance Optimizations

- [x] Implement runtime CPU feature detection for SIMD.
- [x] Implement AVX2 optimizations for applicable modules.
- [x] Implement SSSE3 optimizations for applicable modules.
- [x] Implement scalar fallback for all modules.

## Data Structures

- [x] Implement `AsciiGraphicSet` for character set management.
- [x] Implement `BaseXX` structs for each encoding scheme.

## Public API

- [x] Implement `new()` method for all `BaseXX` structs.
- [x] Implement `with_str()` and `with_slice()` for all `BaseXX` structs.
- [x] Implement `encode()` method for all `BaseXX` structs.
- [x] Implement `decode()` method for all `BaseXX` structs.

## Error Handling

- [x] Implement `EncodeError` enum.
- [x] Implement `DecodeError` enum.

## Feature Flags

- [x] Implement `rug` feature flag.
- [x] Implement `bench`, `abench`, `ubench`, and `nobench` feature flags.
- [x] Implement `aligned_data` feature flag.

## Testing and Benchmarking

- [x] Write unit tests for all modules.
- [x] Write integration tests.
- [x] Write benchmarks for all modules.