Added TextArea to UI widgets

I've implemented a TextArea extending the current TextField. I refactored part of the TextField to make the common functionality reusable by the TextArea.

I also added a TextAreaTest class with a TextField and a TextArea.

The text area doesn't support mouse scroll, scroll bars nor undo (yet).