If you're concerned about speed and are already sending all the data to the client during the initial render then you should do all the filtering in JS on the client.
I would make a CSS class like this:
.hideRow {
display:none;
}
and add or remove that class to the rows based on what is typed in the input.
Change your input render method to:
renderFilterOn:html
html textInput
id: html nextId;
onKeyUp:((html jQuery id: html lastId) call:'filterRows').
Then have a static js file you serve to that page that includes the filterRows function that adds or removes the class based on the value of the input