It is a very interesting demo!!
I noticed that, in your REST request, you don't use the "$method=entityset" property. It would really speed up your data access. This is what is used by the native WAF framework and widgets.
Basically, when you have a REST request like that:
you can add: &$method=entityset
It will build a collection on the server based on your filter and orderby and then return in your JSON answer at the first level a property called __ENTITYSET which will contain a uri that you can use to further manipulate that collection.
the uri looks like this:
the last part being a UUID generated by the server.
Then when you wan to navigate through your collection, you can just send the REST request based on the uri.
to get the entities from 1000 to 1029
Using that entityset allow the server to avoid sorting and search for each request you make with the grid of KendoUI.
You can have a timeout in seconds for the entityset, the default is 2 hours. (for exemple: &$timeout=120 for a 2 min timeout)
When you are done with that entityset (in your case, when the user sorts on another column or enter chars in the query part) then you can force release it by: