A dynamic table binding for Knockout with header sorting and item selection