FIXED
----
* `test-data` path changed recently.
* A docs test was persistently broken on CI runners.
* Typos etc in project metadata header docs.
* Clippy lint errors now cause proper CI job failures/warnings.
* `Part::default(part_id)` method is now public

REMOVED
----
* `XFileRawBytes` types removed -- can just use `bincode` directly
* Conversion util functions -- being handled elsewhere

CHANGED
----
* Correctly implement `ToString` for `ProjectFile` and its subtypes.
* Added and updated examples in documentation.
* Rename `SampleAttributes` to `SampleSettingsFile`.
* project slot path field is now an `Option<PathBuf>` to handle recording buffers more easily
* Rename `ProjectSampleSlot` to `SlotAttributes`.
* Rename `SlotPlayback` to `SlotMarkers`.
* Rename `ProjectStates` to `State`.
* Rename `ProjectSettings` to `Settings`.
* Rename `ProjectMetadata` to `OsMetadata`.
* Removed `RecorderBuffer` as possible slot type (last 8 slots in flex slots are now buffers).
* Merged dedicated recorder buffer slots field into flex slots field (`MarkersFile`).
* Split out integration tests into `tests` dir
* Reorganized modules, flatten the crate hierarchy
* Derive `ReadableFileType` super trait on all major file types (adds trait bounds for `Decode`/`Encode`/`Serialize` and `Deserialize`)
* Re-export major file types from crate root
* No more converting to 'human-readable' values of tempo/gain fields etc when reading files
* `OptionEnumValueConvert` trait now public and reworked to be generic (no more associated types)
* Cleaned up some other traits to use generics instead of associated types