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..
Based on the repeated code, it seems like the chunk 

```
       if (m_node->_components.size() > 0)
+            m_node = m_node->_components[0];
+        else
+            m_node = m_node->_nextComponent;
```

should be in its own method:

advanceToNext();
while (not null and does not match filter) advanceToNext();