feature-AjaxDrawingSpeed

This feature reduces the traffic moving from the browser to the server by keeping track of what controls have changed between ajax draws, and only sending those particular controls to the server. This is a big increase in ajax responsiveness, especially for forms with many controls.

This also includes a change to ajax processing to only parse post variables for changed controls. Includes test case html files to verify that data is moving back and forth from browser to server.

It relies on the relatively new "input" javascript event. It detects whether this event is available, and falls back to the old method if not, or if buggy (IE 8 and 9).

This will require a minor change in how custom controls are programmed. If the custom control is using a hidden input to store its data, it will need to trigger the 'qformObjChanged' event whenever the hidden input is changed, because "input" and "change" are not triggered when hidden inputs are changed via javascript.