Added hexagonal renderer

Only supports one variation of staggered hexagonal for now.

The length of the sides can't be configured yet and is currently
hardcoded to 30.
Allow configuring the length of the hex side

This is the length of the straight sides of the hexagonal tile. It can't
be derived from the grid size because it varies depending on the exact
shape of the tile (which is rarely a mathematically sound hexagon).
Added support for changing the stagger indexes

This adds the option of having the even rows shift to the right instead
of shifting the odd rows to the right.
Fixed the hexagonal renderer to be pointy topped

This makes more sense with the current tile coordinates. Changing the
renderer in this way seemed easier than to implement the kind of
staggering required for flat topped hexes. I'll get to that later.
Derive the StaggeredRenderer from the HexagonalRenderer

This fixes the grid rendering of the staggered renderer and adds support
for staggering the even rows instead of the odd rows.

Of course it will do a little bit more work than strictly necessary, but
this should be entirely irrelevant.

Closes #765