textfield extended to support typing (no text cursor yet)
add smooth cursor