improved UI formatting and reorganized code

Engine Changes:
-created a way of adding custom properties to basic objects
-switched contents of main() with game::initialize()
-moved alot of methods from game:: to controls::
-debug window nolonger prints out size of object
-added support for more special keys
-improved labels but broke info overlay
-menus can now add dropdown menus
-improved menu, button,  and label formatting

Demo Changes:
-fixed checkbox labels
-added "settings" to main menu and pause menu
-moved checkboxes to settings menu