* Converted Z80 to use emulator-hal traits
* Updated emulator-hal
* Added a hacky Signalable trait to replace the Z80 signals
* Minor fixes
* Fixed timing tests and added no io tests option
* Fixed genesis Z80 bus issue
* Fixed addressing for BusAccess impl of Z80
* Fixed tests and clippy lints
* Added github actions for PRs
* Added some rustfmt::skip attributes
* Applied formatting
* Added rustfmt component in action
* Configured to use rustfmt version 2 which fixes some comment formatting
* Removed ready_for_review condition for github actions
Since it has the synchronize condition, it will update after each
commit, whether in draft or not, so I think this should be alright
Now it's up to 99% tests passing, 15362 are still failing, but many
of those are the unimplemented IN/OUT instructions, which the Genesis
doesn't seem to use
Special thanks to raddad772 https://github.com/raddad772
Also added some fixes to the Z80 for panicking math operations, but
it still won't complete due to an unimplemented instruction