win32u: Use a separate variable for windows free_list iteration.
win32u: Use a dedicated struct for window destroy entries. So wIDmenu and userdata can be removed from the WND struct and read from shared memory, before the window handle gets destroyed.