add iterators to collection classes for easier syntax in c++11 and faster access

adds iteartors to collections classes like ofPixels, ofPolyline, ofBuffer... to be abel to use the c++ syntax to go through their elements like:

```cpp
for(auto point: polyline){
    cout << point << endl;
}
```

or

```cpp
for(auto line: pixels.getLines()){
    for(auto & pixel: line){
        pixel = ...;
    }
}
```

from some tests it's also way faster than the traditional access, something like:

```cpp
for(auto pixel: grabber.getPixelsRef().getPixelsIter()){
    pixel[1] = 0;
    pixel[2] = 0;
}
```

is about 20 times faster than:

```cpp
for(int j=0;j<grabber.getPixelsRef().size();j+=grabber.getPixelsRef().getNumChannels()){
    grabber.getPixelsRef()[j+1] = 0;
    grabber.getPixelsRef()[j+2] = 0;
}
```

or

```cpp
for(auto line: gray.getLines()){
    auto level = float(line.getLineNum())/float(gray.getHeight())*255;
    line.asPixels().set(level);
}
```

is about 80 times faster than:

```cpp
for(int y=0;y<gray.getHeight();y++){
    auto level = float(y)/float(gray.getHeight())*255;
    for(int x=0;x<gray.getWidth();x++){
        gray[x+y*gray.getWidth()]=level;
    }
}
```

ofPixels uses iterators now for some operations making it much faster. i've used the old pre c++11 syntax in the core which is a little bit more complex than the new one but won't break compatibility with the platforms that still don't support c++11 or if someone is using an old compiler