[WIP] Initial commit of glfw refactor (using channels)