Implement most of the features of TextField

Shouldn't this invalidate the renderable?