I've got some good news for you - it's there! It is called Flexigrid and is in fact a plugin for jQuery.
For the purpose of demonstration I've put together an example that does pretty much everything I've mentioned above.
Here are some points worth noticing in the provided example:
1. The CSS in Internet Explorer is trashed. I don't know how to fix it.
2. The real power that feeds the data is to be found in BookController and is well documented.
3. Since there's not much documentation for Flexigrid itself I suggest taking a look at the list of options in flexigrid.js.
Enjoy this fantastic library!