The way I avoid this problem is by only including the header if I have to. If it's enough with a forward declaration I will do that instead.
(I only do this for my own classes, not for classes in other libraries)
It was you who mentioned header files and #includes first.
This "issue" with modules is a big question mark for me. Have the standards committee underestimated this problem or will it force me to write better code (that avoids cyclic dependencies) the day I start using modules?
The only way around this seems to be to make both GridCtrl and GridCtrlHandler part of the same module. Maybe you can use module partitions to split up the code?