refactor and cleanup; including: new struct Tiling for tracking tile/color assignments, and set of usable hexacycles
compute initial set of usable hexacycles.
todo: update hexacycles when tiling is updated
implement most of "usable hexacycle" maintenance. Still missing overlappingHexacycles implementation.
Merge branch 'master' of github.com:misterbeebee/calisson-hs