[Attributes] Add support for invisible and inline attributes.
[Refactoring|BugFix] Remove dead code, improve error messages and fix a bug in the make_rules function (when comparing the lengths).
[Start attribute] Deplace it in the rule attributes.
[Attribute] Update AttributeDict to AttributeArray (which is an alias to Vec<AttributeInfo>.
[Attribute] Replace register(&mut AttributeArray) by model() -> AttributeArray.
[Attribute] Add the start attribute with the newest attribute framework.