Fix our $.fn.html wrapper to work with empty strings.

We had a long-standing bug it turns out where passing "" to html() would
result in the original html being called with undefined as the
parameter, causing it to return the result rather than set it. This was
due to how we were both calling the old function and the way in which we
were deciding what to pass to it. Now we just use call() and pass the
parameters.