Some rule parsing refactoring.
Made rule nesting work without `@in` directives (turns out it wasn't too hard #58).

`@in` directives are still supported for backwards compatability until at-least next major release (3.x).