By default, components only have access to their constructor registries e.g. Ractive.defaults and any intermediate `Ractive.extends`, so the template row component can't access the template input component that is registered with the main instance. If you move the components to the global component registry (Ractive.components['template-input'] = ...), add a components map to the template row component, or turn off isolation on the template row component by passing `isolated: false` to `extend`, it will start working:
https://jsfiddle.net/2hLzhwyd/4/
In addition to being simpler code, there's also significantly less overhead to a partial because it's just a chunk of template rather than an entire ractive instance with event, style, etc support.