Consider adding custom per-voxel data

Issue #29 resolved
David Williams created an issue

Several users have requested the ability to add custom data to the voxels. In some cases this should actually go in a separate array, but there are scenarios when it would be better to have it with the voxel data. In particular it could then be passed into the shader as vertex attributes.

We already have some spare bit in the ColoredCubesVolume which we can use for this, but we should think about adding something for TerrainVolume. Unfortunately it's already at 64 bits per voxel which is nice for alignment, so we should be careful about pushing it further and also watch out for backwards compatibility.