Render-order as map attribute, respected in actual in-editor rendering

As discussed here: https://github.com/bjorn/tiled/issues/455
I find this approach a little confusing. My preferred way would be to change the parameters for the loops. Example snippets:
```
int incX = 1, incY = 1;

case Map::LeftUp:
    std::swap(startX, endX);
    std::swap(startY, endY);
    incX = -1;
    incY = -1;

endX += incX;
endY += incY;

for (int y = startY; y != endY; y += incY) {
    for (int x = startX; y != endX; y += incX) {
```
Of course, this means the end variables need to be always reachable from the start variables with the given increment. For the initialization, `endX` will need to be `layer->width() - 1` and the `+1` should be removed from `qMin((int) std::ceil(rect.right()) / tileWidth + 1, endX);`, same for Y.