Set style name in AbstractCellTable instead of CellTable.

Bug: issue 8309
Change-Id: I37865162199dc2841e4945d84aa13fb258f48589
Automated refactoring to stop using deprecated DOM methods.

Change-Id: I43f400e2c05aa70f13d1af1dd16ca23f7298add2
Improves GWT event dispatch for extensibility.

New implementation introduces a dispatcher map for bitless events and
uses a 'default' dispatch function if there is no specific dispatcher
defined for the event.

Similarly, a dispatcher map for capture events introduced as well that
simplifies the boiler-plate around capture events.

With this change even if the event is not known by GWT yet, it will
still be dispatched. As most events don't need custom dispatching, no
further changes will be required to DOMImpl (e.g. MGWT will no longer
need to rebind DOMImpl for transitionEnd and animationEnd as those will
work out of the box.)

Partially fixes issue 8379

Change-Id: Ia00c177d0f007d544d4837e2291c991615795474
Review-Link: https://gwt-review.googlesource.com/#/c/5222/
Step towards eliminating com.google.gwt.user.client.Element

This commit changes all methods that used to take a user.Element to
instead take a dom.Element, while using Node.cast() to keep the return
values as user.Element and avoid breaking callers (who might try to
assign to a user.Element variable, for example).

During the next release cycle, it should be possible for users to
update their code the same way.  Then GWT can change its return values
to dom.Element, users can again do the same, and finally GWT can
eliminate user.Element altogether.

Change-Id: Id793420cae4f62c39b13b6bd1b21fd3487dcd81a
Restore HTMLPanel.add(Widget, Element) as public

Lots of users (at least within Google) rely on this method being
public.  Not sure why api-check didn't notice this would be a breaking
change.

Change-Id: I04152036a651f05f15201e822ac7bdb025c7e7e1
Add DOM.asOld(Element) to avoid NPEs

Calling cast() to convert a dom.Element into a user.Element can
introduce a NullPointerException when null elements are allowed.  To
remedy this and make the type safety slightly stronger, add a
DOM.asOld() helper method to cast from dom.Element to user.Element,
and replace as many calls to cast() with it as possible.

Rather than try to be clever and only convert cast()s where it would
actually make a difference, I adopted a strict rule of just converting
as many as possible.  In particular, this reverts all calls to cast()
that were introduced by d91ce52a.

Change-Id: I8c7a05be0c70d544006ae7f6356f7a05027fa1f3
Merge remote-tracking branch 'upstream/master'