This removes the dependencies on the platform crate as well as the sha256 crate, opting for the sri crate instead to check file integrity.
This involved refactoring the crate structure to share code between macOS and Linux. The new methods have not yet been implemented on macOS, but they have todo!() placeholders.