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..
I like that the filter is passed as a reference here, but then I don't understand why the Component was passed as a pointer. Is that because you want to allow a null value for it?