updated grapher to use new widtgets system (not working yet but close)
made a basic app using the widgets system
implemented CgTextEdit for CgLineEdit (now fully working, but there may be bugs so i'll address them tomorrow)
- implemented CgStatusBar widget which is a specific version of the CgIndicatorBar widget with predefined fields
- std::io::Screen is now an enum that makes switching between display modes more intuitive
- created a basic CgLineEdit implementation that allows for a user to type in a character and have it re-render that widget
- other more minor changes like fixes for existing apps to work with new features
- this includes text wrapping not cutting words in half (can be disabled using a method on the text box)
- refactored frame.rs, cg_core.rs and cg_widgets.rs to avoid code reuse and duplication
- created a simplified unified interface for rendering frames to the screen using the Frame struct provided by frame.rs instead of Element, FrameGen, etc.
- moved all widgets from cg_core.rs to cg_widgets.rs
- the label widget now works
- also added CgIndicatorBar and CgIndicatorWidget widgets to eventually make a working status bar
- refactored all applications in the system to use the new api to render to the screen