Major entity print regions, button changes and main script changes

Changed the color modes for debugging text and color. Objects no longer handle the color
of their debugging geometry and text, instead rely on a static class color (blue for geometry
and yellow for text, currently). Later should move the debug color definitions to the game
global object (i.e. "Colors.debug_geom = Colors.blue Colors.debug_text = Colors.yellow").
Entities now move the debugging info print region coordinates to the cursor coordinates if
hovered over. Button entities do not show their print region unless hovered over. Completely
rewrote the state system for buttons, providing a system more suited for a multitide of
inputs (mouse, keybinding, anonymous triggers, etc.).