Experimentation with refining the dots via repeated application
Randomised or interpolated height points
Move the height to a double for better interpolatory goodness
Avoid compiler warnings and make sure we actually get a live point
Colour the canvas with a simple greyscale voronoi
Colour handling
Broken heightfield implementation
Associate a colour with points for consistent Voronoi cell variation later
New points start with "no colour" which is easiest to represent with magick numbers
When creating the Voronoi cells, use the colour of the parent point (or create one if it's new)
Radius of 8 seems to give a decent density of cells on a 512x512 grid
We'll be needing random numbers in places other than the Bridson code
Add ocean colouring for "deep" water
Return slight variants on each colour for a bit of variety in the Voronoi cells
Remove the call to `interpolate_height` since we're never going to use it again
Only jitter the height once instead of twice with different scales
Clamp the height to [-1,1] rather than [0,1] - it improves the output immensely
Don't bother refining the iterations down the scale, we just go straight for the smallest now
Other minor tidy ups
Merge branch 'fix-heightfields-1'
Add 'dirt' just below 'rock'
Allow a seed to be specified
Scale the jitter based on how far away we are from our parent
TODO consider the local neighbour hood as well?  Parent and ClosestPoint?