Support cross compilation
This merge request fixes #8. The main problem is that the proc macro uses cfg! macros for conditional compilation, resulting in the host configuration being applied even during cross-compilation. I have switched to generating target-specific code for all targets instead of using cfg! macros directly. I verified that all tests can be built on MacOS (Apple silicon) and run successfully on x64 Linux.
I also changed tests that do not work on Mac OS to be skipped.