Implement a plugin system.
The plugin trait modifies the Agent instance:
trait Plugin {
fn build(&self, agent: &mut Agent);
}
A plugin may define some events, implement some systems, and finally registers itself to the Agent through the Plugin trait.
Also, the amico-mods crate should be organized by plugins.