You probably don't want backtraces if you're doing multiboot and in a
few other cases.
Also #646 broke the build if you didn't use the `testing` feature, so
I've updated the `justfile` so that a CI run checks that agb builds
correctly both without the `testing` feature and without the `backtrace`
feature. The `backtrace` feature implies the testing feature to make
things a bit simpler.
- [x] Changelog updated
Implements a very basic backtrace and the ability to format them
If you run the panic example and press A, you get:
```
[ERROR] GBA Debug: [failed]
[ERROR] GBA Debug: debug data: ce3-1ee7-1fb7-24d-1ad
[FATAL] GBA Debug: Error: panicked at src/memory_mapped.rs:101:24:
index out of bounds: the len is 240 but the index is 240
```
which you can then prettify with:
```
> agb-addr2line ../target/thumbv4t-none-eabi/debug/examples/panic 0ce3-1f57-2027-024d-01ad
0: rust_begin_unwind <agb>/lib.rs:321
1: core::panicking::panic_nounwind <core>/panicking.rs:151
2: core::panicking::assert_failed_inner <core>/panicking.rs:321
3: agb::memory_mapped::MemoryMapped2DArray<T,_,_>::set <agb>/memory_mapped.rs:101
(inlined by) agb::display::bitmap3::Bitmap3::draw_point <agb>/display/bitmap3.rs:31
4: main /home/gwilym/Projects/agb/agb/examples/panic.rs:15
```
- [ ] Changelog updated / no changelog update needed
Some fonts look a bit weird if you don't do kerning.
@corwinkuiper can you check if I've done the correct thing for object
font rendering? I'm not entirely sure... Although it does render
correctly in my tests :D
- [x] Changelog updated / no changelog update needed