Rebuild nested dialects when changed

While nested dialects were built, they would not be rebuilt if they
changed. Now, the compiler will track the dialect used in the .gct file
and recursively check whether they are newer than the corresponding
.grace file, rebuilding if required.