Delegate `Column#type_cast` to the injected type object.

Part of #15134. Dependent on #15160. See last commit for diff with previous PR applied. /cc @senny