Fix bug with board sizes that invoke setSize

I discovered looking at demo4.html that the 9x9 board was getting
doubled in size after my Retina fix. It turns out that non-19x19 boards
have `setDimensions()` called *after* the initial size setting, which
resulted in the size being multiplied undesirably.

This updates the `setDimensions` method to consult
`this.element.style.width` instead of `this.width` as the default, which
fixes the problem.
Fix bug with mouse position and scaled boards

The retina fix introduced a bug with mouse position, since a mouse
positioned 500px from the left of a 1000px board on a retina display
(pixelDensity === 2) would look as if it were halfway across, but would
be calculated to be 1/4 of the way across a board that is 2000px from
the renderer's perspective.
Merge pull request #14 from neagle/hdpi

Add resolution-density adjustment to renderer