Initial work to separate os windows from gl contexts
More work to separate os windows from gl context