This cleans up this header and moves the functionality into more
useful places while reducing the include complexity but only pulling
in whats required.
Only supports creation, destruction, and redraw atm.
TODO: input handling (mouse, keyboard), editing, using the node callbacks.
Also includes new core_window.h.