Iterator

Implementation of an iterator that goes thru a Component and all its sub-components in a tree (pre-order) traversal. A test case that demonstrates the usage is also included, along with wrapping to make these iterators accessible from scripting..
That's a very confusing line! Lower case `filter` isn't a good type name, and the type and formal argument should have different names.