libikarus 0.1.13

The core functionality of Ikarus wrapped neatly in a rust library
Documentation
# Overview

This project serves as the core library used in all official Ikarus projects. 
It provides all of the functionality the UIs use. 

Currently only a rust interface is supported, but a C interface will follow soon.

# On Dependencies

Keeping dependencies low is a primary concern for this project. 
This applies to both C and Rust dependencies.
To avoid opening a can of worms here, we shall not go into the reasoning behind this.

Every new dependency must provide at least one of these benefits:
- Adds a lot of convenience features that are otherwise cumbersome to implement (e.g. thiserror)
- Is part of a "standard" ecosystem of rust crates (e.g. log)
- Provides a mature piece of software which would be nonsensical to implement by oneself (e.g. sqlite)

In addition, all crates must pass [cargo vet](https://github.com/mozilla/cargo-vet) with the `safe-to-run` criteria.
See [supply-chain](supply-chain) for our configuration.

C dependencies will be wrapped in separate `*-sys` crates, as recommended by the [cargo book](https://doc.rust-lang.org/cargo/reference/build-scripts.html#-sys-packages).