Implement vertical grid

> most, if not all, logic was built around the idea that at any point the other axis could be supported with minor/moderate code changes

So I took a stab at implementing vertical orientation... not as simple as suggested :)

The code looks rather ugly at the moment and I'm sure lots of refactoring is needed, but I'd like to run it by you first to see if I'm on the right track.

Vertical grids are created by specifying `cols` instead of `rows`, e.g.

```js
var myGrid = new GridList(items, {cols: 5});
```

Demo page is here: http://gigablah.github.io/grid/index-vertical.html