A wrapper over a function which logs every call to it.

Supports native calling syntax, `Display` formatting, and passing it to functions which take a generic `FnMut`.

```rust
use fn_logger::FnLogger;

fn add(a: i32, b: i32) -> i32 {
    a + b
}

let mut log = FnLogger::new(add);

let x = log(1, 2);
assert_eq!(x, 3);

let y = log(3, 4);
assert_eq!(y, 7);

println!("{log}");
```

This prints:
```text
add(1, 2) -> 3
add(3, 4) -> 7
```

<small>
This crate is licensed under either the
<a href="LICENSE-MIT">MIT License</a> or
<a href="LICENSE-APACHE">Apache License, Version 2.0</a>,
at your option.
</small>