Aliases were initially using `Actor`-base objects to manage themselves,
but that became a legacy approachin AcediaCore and they had to be
reimplemented without any `Actor`s (based on `Feature` instead),
allowing them mto be usable even when no `LevelCore` is provided.
This is a giga commit, something that should not really be done with
git, but I messed up.
This commit brings a great amount of changes, most important is
reworking `TextAPI` and alsmost complete replacement of `string` with
`Text`/`MutableText`.
Another huge change is introduction of command system that allows to
define commands in a centralized manner, handles auto-parsing of
their parameters and auto generates help info.
Lastly, JSON data types were replaced with new
`DynamicArray`/`AssociativeArray` that are better designed and more
generic.