Moving window primitives inside *Window classes rather than separate classes, changed widgets to use the SceneNode class node architecture