TextArea

- Re-factored WidgetBase more.
  - Moved the data binding event hooks to WidgetBase.
  - Moved the initial validation call to WidgetBase.
- Added a TextArea class.
- Updated docs.
Added rows and cols to TextArea