The goal here is to build a text editor with some nifty features. Let's call it the Footprint Editor:

We intend to include the following features in the text editor:
- Creating new documents, opening and editing existing documents, and saving documents
- Implementing common editing options such as cut, copy, paste, undo, and redo
- Searching within a file for a given search term
- Implementing line numbering and the ability to show/hide line numbers
- Implementing theme selection to let a user choose custom color themes for the editor
- Implementing the about and help windows