A processor that filters modules.
Methods Details:
Pushes the current scope onto the stack and starts a new one
Pops the current scope from the stack, and appends the given
declaration to it
Only pops, doesn't append to scope
Adds the given decl to the current scope
Adds declaration to scope
Visits all children of the module, and if there are no declarations
after that removes the module