3.0 widget improvements

Implements the changes described in #3613. Notably adding:

* An `afterRender()` hook to widget objects.
* Refactored secure field list generation into a widget feature over a FormHelper feature. This has made FormHelper quite a bit simpler and resulted in more powerful widget classes :metal:

I don't know how the widget events would work. Using events seems like extra complexity here, as I can't think of a case where another class would be interested in widget afterRender hooks.