data structures; button functionality

moved Window and Widget to base.py, slightly organized OOP data model