This library provides several useful constructs to format data in a human-readable fashion with zero allocations

Some of these functions may seem to partly reinvent existing std functionality, for example join:

```rust println!("{}", displayutils::join(&[1, 2, 3], " + ")); // displayutils println!("{}", ["1", "2", "3"].join(" + ")); // std

println!("{}", displayutils::repeat("abc", 4)); // displayutils println!("{}", "abc".repeat(4)); // std ```

The important difference is that the std approach involves 4 allocations, whereas the displayutils approach operates 100% on stack and is therefore nostd compatible and likely faster.