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: pixels.getPixelsIter()){
    pixel[1] = 0;
    pixel[2] = 0;
}
```

is about 20 times faster than:

```cpp
for(int j=0;j<pixels.size();j+=pixels.getNumChannels()){
    pixels[j+1] = 0;
    pixels[j+2] = 0;
}
```

or

```cpp
for(auto line: pixels.getLines()){
    auto level = float(line.getLineNum())/float(pixels.getHeight())*255;
    line.asPixels().set(level);
}
```

is about 80 times faster than:

```cpp
for(int y=0;y<pixels.getHeight();y++){
    unsigned char level = float(y)/float(pixels.getHeight())*255;
    for(int x=0;x<pixels.getWidth();x++){
        pixels[x+y*pixels.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