Correctly update constraints on frame change

When using a source with a bounding box smaller than the world box, you can see that it does not update correctly upon device rotation or frame size change.
This is because ```_constrainingProjectedBounds``` should be updated when frame changes.
This PR fixes this.
You can test it with [this mbtiles](http://www.sendspace.com/file/kztjoy)

Now i also added something else in that PR. Today when setting multiple tile sources, the "tile source bounding box" is set to the intersection of all sources boxes. It seems to be it should be the union.

Why would i use multiple tile sources? For exemple i could do it to have offline/online support with a mbtiles. The mbtiles gives me offline support but has a limited region. So if i had another "online" source, i can have navigation without the user seeing the difference.
But now i put the 2 tile sources together i obviously want to be able to navigate inside the union of the 2 boxes. The only problem would be if those boxes did not intersect because you would have empty tiles every where. But i  feel like it s a different problem.