Improve consistency of widget Initialization.

When trying to work directly with registered widgets, Categories/Tags
Widget and the Download Cart Widget behave oddly. Specifically,
calling the  method would not save the widget.

It turns out that these widgets are initialized in strange ways:

* Constructors for the widget are the name of the class, which is only
  necessary in PHP4. Using  is sufficeint as EDD does not
  support PHP4 and it brings these widgets in line with current best
  practices and the Product Detail Widget.

* The first argument in the parent class constructor was passed as
  . This argument sets the base ID for the widget.  means
  nothing in this case. This was updated to an appropriate value.

Fixing these two issues fixes my use case, as well as brings the widget
in line with best practices.
Merge pull request #2673 from tollmanz/consistent-constructors

Improve consistency of widget Initialization.