initial dev changes for the GUI system
Add textfield widget and abstract between core and app