Fix ipc_gpu not setting buffer ID on encode

I'm certain I did set it, since it worked before. Ah well.
Update list of supported hardware
Merge branch 'master' of github.com:Norost/norost-b
Merge branch 'gui'

Not quite finished but there are other things to do before we can
meaningfully progress further with the GUI.
Avoid window bounce buffer
Remove user_data from Window
Move window_manager <-> gpu communication to separate module
Move math module from window_manager to gui3d
Fix window_at not applying margin to cursor
Fix PS/2 mouse presses not being registered in window manager
Reduce margin between windows

i.e. only apply x1 margin instead of x2
Make window border/margin adjustable in config
Fix image_viewer redrawing on every input
Fix broken window path when removing uncle
Make close button functional
Buffer USB HID inputs

This significantly speeds up cursor drawing in the window manager
Allow passing objects to processes spawned by gui_cli
Don't hardcode font in gui_cli
Make gui_cli spawn process instead of waiting for attach

This is easier to use & fits its role better.