Added Window and Viewport

Also cleaned up class names and fixed failing tests