Config revamp
Now there's one global config and child config created per-session (one session = one rule file compilation).
Imports and variables are stored in this config as well.
Remove context
argument from MACROS, making code cleaner and easier to read