Finish heightmap technique

Signed-off-by: Paul Holden <paulholden2@gmail.com>

- Still lots of room for improvement, especially with roughness
  propagation. Propagation is a depth-first algorithm, which causes
  roughness from the subtrees processed last to not affect the subtrees
  processed earlier.

- Added some new heightmaps to test with.

- Minor changes to heightmap shaders.