added gs.Keyboard
added gs.Context for wrapping context and implemented window scaling