* implement cint for color types under feature flag
* upgrade to cint 0.2, remove from default features
* upgrade to cint 0.2.1, add a couple more from/into implementations
* changelog entry
* fix typo in changelog
* sort dependency
* fmt
* init work
* implement deferred deserialization
* many improvements
* rename `DataElement` -> `AnyMapElement`
* make `data` in `Memory` as public field of type with public interface
* make interface more rich
* transform most unwraps to proper error handling
* make `AnyMap` store by `TypeId`, so now individual type can be counted and reset
* improve storing TypeId between different rust versions
* rewrite system widgets to use AnyMap
* refactor everything
* replace `serde_json` -> `ron`
* move `any_map` to module
* separate `AnyMap` into `AnyMapId` and `serializable::AnyMapId` in order to not require `serde` traits in methods
* add `AnyMap` and `serializable::AnyMap` that stores elements just by type, without `Id`
* write documentation
* change tooltips and color picker to use `Memory::data_temp`
* fix bugs and docs
* Apply suggestions from code review
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
* rename `AnyMap` → `TypeMap`
* rename `AnyMapId` → `AnyMap`, add generic <Key> to it
* rename files `id_map` → `any_map`
* move out usages from `serializable` mod
* rename `ToDeserialize` → `Serialized`
* fix bug with counting
* add tests, and...
* rename `reset` → `remove`
* add function `remove_by_type`
* format code
* improve code
* make identical interface for serialized and simple maps
* make serialized maps serialized fully, without features by moving this into `Memory` struct with `#[cfg(feature = "persistence")]` under fields
* move `serialized::TypeId` into `AnyMapElement` struct
* fix pipeline and add one more test
* update docs
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>