New open() API for collections

The temporary API of `viewer.open(tileSource, options)` has been replaced with a more flexible `viewer.open(tileSources)`. You can still do the simple: 

```
viewer.open('foo.dzi');
```

...if you want, but you can also open a number of images and position them like so: 

```
viewer.open([
    {
        tileSource: "tall.dzi",
        x: 1.5,
        y: 0,
        width: 1
    }, {
        tileSource: 'wide.dzi',
        x: 0,
        y: 1.5,
        height: 1
    }
]);
```

The same structure can be passed into `OpenSeadragon({ tileSources: foo })` as well.

@rsinghal @aeschylus @snydman @azaroth42 don't forget to update your code before changing to this new version.