Only supports creation, destruction, and redraw atm. TODO: input handling (mouse, keyboard), editing, using the node callbacks. Also includes new core_window.h.