* Rework hal initialization
* Turn sw interrupt control into a virtual peripheral
* Return a tuple instead of a named struct
* Fix docs
* Remove SystemClockControl
* Move software interrupts under interrupt
* Re-document what's left in system
* Update time docs
* Update sw int docs
* Introduce Config
* Fix tests
* Remove redundant inits
* Doc
* Clean up examples&tests
* Update tests
* Add changelog entry
* Start migration guide
* Restore some convenience-imports
* Remove Config from prelude
* Convert `SoftwareInterrupt` to a unit struct
* Remove the `SystemExt` trait and rename `SystemParts` to `SystemControl`
* Update all examples an HIL tests to reflect previous API changes
* Clean up imports in `hil-test` package, address `clippy` lint warnings
* Update `CHANGELOG.md`
* Provide native APIs for SPI functionality currently handled by `embedded-hal` traits
* Provide APIs for I2C functionality currently handled by `embedded-hal` traits
* Rebase and update HIL test for SPI to get it building again
* Refactor testing, add defmt, add async gpio test
* Add test to ensure the some edge case pins can be used in async mode
* Add test for pin0
* clippy
* update test to use constants extracted from esp-idf's soc module
* address review comments
* simplify test to just initialize one pin as async
* changelog