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..
Ugly comment format. Either put the close on a separate line (wasteful, IMO), or consider not beginning lines with `*` at all. Then the comment would read:
```
/** Prefix increment operator to get the next item in the ComponentList.
Only pre-increment is implemented, use ++iter and not iter++. */
```
which is maximally compact and will still be a perfectly obvious comment since every viewer highlights comments in a distinct color. I believe that the initial `*` convention is an anachronism left over from ancient C and bad editors.