Add support for retina (HDPI) displays.

Works in Safari, Firefox and Chrome. Ignored if a browser doesn't understand `window.devicePixelRatio`. I'm afraid it adds a few more lines. We have to have the placeholder element and then the canvas floating on top because the size of the canvas depends on `window.devicePixelRatio` which isn't visible in CSS.

Example of the difference this makes:

![screen shot 2014-05-04 at 15 02 34](https://cloud.githubusercontent.com/assets/341094/2873174/1d80486c-d395-11e3-9ed4-336cd268925c.png)
![screen shot 2014-05-04 at 15 02 43](https://cloud.githubusercontent.com/assets/341094/2873175/1f63befc-d395-11e3-9bf3-4d0d8a2712be.png)