I see; so what you're saying Tk bindings actually invoke Tcl execution, in addition to the lower level C API (functions named Tk_Whatever); i.e. there is no Tk without Tcl being interpreted.
Yes this is correct. I looked into doing this to see if it was possible to use Tk with the Jim interpreter. It's probably possible but would be a significant investment of time. Tk has some deep integration into Tcl internals.
Yes, interestingly Tk is the perfect Trojan horse. It is the simplest, most useful platform-independent toolkit ever written. But that simplicity is derived from its integration with Tcl, so Tcl needs to be installed everywhere Tk runs.