The Racket GUI library provides a `text-field%` control which allows input of arbitrary text, but only basic functionality by default. However, the class is designed to be extensible and in this article we'll look at how to extend this control to provide ...